Tweaked a couple cases where == was used instead of ===.
[jquery.git] / src / event.js
index 983e9e5..72ebcf7 100644 (file)
@@ -389,7 +389,7 @@ jQuery.event = {
                        event.metaKey = event.ctrlKey;
                }
 
-               // Add which for click: 1 == left; 2 == middle; 3 == right
+               // Add which for click: 1 === left; 2 === middle; 3 === right
                // Note: button is not normalized, so don't use it
                if ( !event.which && event.button !== undefined ) {
                        event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));
@@ -690,7 +690,7 @@ jQuery.event.special.change = {
                        var elem = e.target;
 
                        if ( elem.nodeName.toLowerCase() === "input" && elem.type === "radio" ) {
-                               return jQuery.data( elem, "_change_data", getVal(elem) );
+                               jQuery.data( elem, "_change_data", getVal(elem) );
                        }
                }
        },
@@ -720,24 +720,23 @@ function trigger( type, elem, args ) {
 }
 
 // Create "bubbling" focus and blur events
-if ( !jQuery.support.focusBubbles ) {
+if ( document.addEventListener ) {
+       jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ){
+               jQuery.event.special[ fix ] = {
+                       setup: function() {
+                               this.addEventListener( orig, handler, true );
+                       }, 
+                       teardown: function() { 
+                               this.removeEventListener( orig, handler, true );
+                       }
+               };
 
-jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ){
-       jQuery.event.special[ orig ] = {
-               setup: function() {
-                       jQuery.event.add( this, fix, ieHandler );
-               }, 
-               teardown: function() { 
-                       jQuery.event.remove( this, fix, ieHandler );
+               function handler( e ) { 
+                       e = jQuery.event.fix( e );
+                       e.type = fix;
+                       return jQuery.event.handle.call( this, e );
                }
-       };
-
-       function ieHandler() { 
-               arguments[0].type = orig;
-               return jQuery.event.handle.apply(this, arguments);
-       }
-});
-
+       });
 }
 
 jQuery.each(["bind", "one"], function(i, name) {
@@ -756,7 +755,7 @@ jQuery.each(["bind", "one"], function(i, name) {
                        data = undefined;
                }
                fn = thisObject === undefined ? fn : jQuery.event.proxy( fn, thisObject );
-               var handler = name == "one" ? jQuery.event.proxy( fn, function( event ) {
+               var handler = name === "one" ? jQuery.event.proxy( fn, function( event ) {
                        jQuery( this ).unbind( event, handler );
                        return fn.apply( this, arguments );
                }) : fn;