X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fevent.js;h=80e2af66bc037845230df831c3d36e8106ca378e;hb=0b6afcedd22aaffb96d3d45b9b220a16229e2f7c;hp=75ac0bac67c4316f37d81b5bf191c14727a42fa0;hpb=89b771daefcd0cc6a31b7285b06cbc4e5ecede57;p=jquery.git diff --git a/src/event.js b/src/event.js index 75ac0ba..80e2af6 100644 --- a/src/event.js +++ b/src/event.js @@ -600,6 +600,12 @@ jQuery.Event = function( src ) { if ( src && src.type ) { this.originalEvent = src; this.type = src.type; + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = + (src.defaultPrevented===true ? true : + src.getPreventDefault ? src.getPreventDefault() : + src.returnValue===false) ? returnTrue : returnFalse; // Event type } else { this.type = src; @@ -1075,8 +1081,8 @@ function liveHandler( event ) { events = events.events; } - // Make sure we avoid non-left-click bubbling in Firefox (#3861) - if ( event.liveFired === this || !events || !events.live || event.button && event.type === "click" ) { + // Make sure we avoid non-left-click bubbling in Firefox (#3861) and disabled elements in IE (#6911) + if ( event.liveFired === this || !events || !events.live || event.target.disabled || event.button && event.type === "click" ) { return; }