Opened 10 years ago
Closed 10 years ago
#13619 closed feature (duplicate)
Adding a event to the begging of event stack
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | undecided | Milestone: | None |
Component: | unfiled | Version: | 2.0b2 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
being able to bind events that get placed at the beginning of the event stack.
i made a quick mod to the events to get the desired behaviour, and might be good to put in.
example 1 :: normal event order var t = $('<div/>'); t.on('test', function(){console.log('FIRST');}); t.on('test', function(e){ e.stopImmediatePropagation(); console.log('last');}); t.trigger('test'); FIRST last
example 2 :: adding a event before the others var t = $('<div/>'); t.on('test', function(){console.log('FIRST');}); t.on('~test', function(e){ e.stopImmediatePropagation(); console.log('last');}); t.trigger('test'); last
code: in events:add
after:
type = ( selector ? special.delegateType : special.bindType ) type;
insert:
var placeFirst = type[0] === '~'; if(placeFirst){
type = type.substr(1);
}
replace:
handlers.push( handleObj );
with:
if(placeFirst){
handlers.unshift( handleObj );
}else{
handlers.push( handleObj );
}
Change History (2)
comment:1 Changed 10 years ago by
Owner: | set to [email protected]… |
---|---|
Status: | new → pending |
comment:2 Changed 10 years ago by
Resolution: | → duplicate |
---|---|
Status: | pending → closed |
Duplicate of #7548.
Sorry, I didn't read this closely. I just saw the pasted code and asked for a test case. However, this is not something that will be added to core.
Thanks for taking the time to contribute to the jQuery project! Please provide a complete reduced test case on jsFiddle to help us assess your ticket.
Additionally, be sure to test against the jQuery Edge version to ensure the issue still exists. To get you started, use this boilerplate: http://jsfiddle.net/FrKyN/. Open the link and click to "Fork" (in the top menu) to get started.