Prevent IE from firing live/delegate events on disabled elements. (#6911)
[jquery.git] / src / event.js
index d491ae8..cf3ec2a 100644 (file)
@@ -1068,6 +1068,11 @@ function liveHandler( event ) {
        if ( event.liveFired === this || !events || !events.live || event.button && event.type === "click" ) {
                return;
        }
+       
+       // IE will still dispatch events on disabled elements, so halt it (#6911)
+       if( event.target.disabled ) {
+               return;
+       }
 
        if ( event.namespace ) {
                namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)");
@@ -1132,6 +1137,9 @@ function liveHandler( event ) {
                        if ( ret === false ) {
                                stop = false;
                        }
+                       if ( event.isImmediatePropagationStopped() ) {
+                               break;
+                       }
                }
        }