Commit aa9236e5 authored by Ariel Flesler's avatar Ariel Flesler

jquery event: closes #3355. Added stopImmediatePropagation() to events.

parent 63bfe1de
...@@ -190,6 +190,7 @@ jQuery.event = { ...@@ -190,6 +190,7 @@ jQuery.event = {
target: elem, target: elem,
preventDefault: function(){}, preventDefault: function(){},
stopPropagation: function(){}, stopPropagation: function(){},
stopImmediatePropagation:stopImmediatePropagation,
timeStamp: now() timeStamp: now()
}); });
data[0][expando] = true; // no need to fix fake event data[0][expando] = true; // no need to fix fake event
...@@ -271,6 +272,10 @@ jQuery.event = { ...@@ -271,6 +272,10 @@ jQuery.event = {
event.preventDefault(); event.preventDefault();
event.stopPropagation(); event.stopPropagation();
} }
if( event._sip )
break;
} }
} }
...@@ -280,7 +285,7 @@ jQuery.event = { ...@@ -280,7 +285,7 @@ jQuery.event = {
props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" "), props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" "),
fix: function(event) { fix: function(event) {
if ( event[expando] == true ) if ( event[expando] )
return event; return event;
// store a copy of the original event object // store a copy of the original event object
...@@ -313,6 +318,8 @@ jQuery.event = { ...@@ -313,6 +318,8 @@ jQuery.event = {
originalEvent.cancelBubble = true; originalEvent.cancelBubble = true;
}; };
event.stopImmediatePropagation = stopImmediatePropagation;
// Fix timeStamp // Fix timeStamp
event.timeStamp = event.timeStamp || now(); event.timeStamp = event.timeStamp || now();
...@@ -367,6 +374,11 @@ jQuery.event = { ...@@ -367,6 +374,11 @@ jQuery.event = {
} }
}; };
function stopImmediatePropagation(){
this._sip = 1;
this.stopPropagation();
}
if ( !jQuery.browser.msie ){ if ( !jQuery.browser.msie ){
// Checks if an event happened on an element within another element // Checks if an event happened on an element within another element
// Used in jQuery.event.special.mouseenter and mouseleave handlers // Used in jQuery.event.special.mouseenter and mouseleave handlers
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment