From: jeresig Date: Fri, 21 Jan 2011 14:24:09 +0000 (-0500) Subject: Revert "Make sure that focusin/focusout bubbles in non-IE browsers." This was causing... X-Git-Url: http://git.asbjorn.biz/?p=jquery.git;a=commitdiff_plain;h=328a86f9a0d3f0907cc950f7543e34cb3efbda3f Revert "Make sure that focusin/focusout bubbles in non-IE browsers." This was causing problems with the focusin event, see: #7340. This reverts commit 88068f82c199847d3679b130664dd91cc2e89f00. Conflicts: src/event.js test/unit/event.js --- diff --git a/src/event.js b/src/event.js index 2ddf288..2d53562 100644 --- a/src/event.js +++ b/src/event.js @@ -8,7 +8,6 @@ var rnamespaces = /\.(.*)$/, fcleanup = function( nm ) { return nm.replace(rescape, "\\$&"); }, - focusCounts = { focusin: 0, focusout: 0 }, eventKey = "events"; /* @@ -880,21 +879,17 @@ if ( document.addEventListener ) { jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { jQuery.event.special[ fix ] = { setup: function() { - if ( focusCounts[fix]++ === 0 ) { - document.addEventListener( orig, handler, true ); - } - }, - teardown: function() { - if ( --focusCounts[fix] === 0 ) { - document.removeEventListener( orig, handler, true ); - } + this.addEventListener( orig, handler, true ); + }, + teardown: function() { + this.removeEventListener( orig, handler, true ); } }; function handler( e ) { e = jQuery.event.fix( e ); e.type = fix; - return jQuery.event.trigger( e, null, e.target ); + return jQuery.event.handle.call( this, e ); } }); } diff --git a/test/unit/event.js b/test/unit/event.js index 02824a9..e4caee8 100644 --- a/test/unit/event.js +++ b/test/unit/event.js @@ -1953,26 +1953,6 @@ test("window resize", function() { ok( !jQuery._data(window, "__events__"), "Make sure all the events are gone." ); }); -test("focusin bubbles", function() { - //create an input and focusin on it - var input = jQuery(""), order = 0; - - input.prependTo("body"); - - jQuery("body").bind("focusin.focusinBubblesTest",function(){ - equals(1,order++,"focusin on the body second") - }); - - input.bind("focusin.focusinBubblesTest",function(){ - equals(0,order++,"focusin on the element first") - }); - - input[0].focus(); - input.remove(); - - jQuery("body").unbind("focusin.focusinBubblesTest"); -}); - /* test("jQuery(function($) {})", function() { stop();