Revert "Make sure that focusin/focusout bubbles in non-IE browsers." This was causing problems with the focusin event, see: #7340.

This reverts commit 88068f82c1.

Conflicts:

	src/event.js
	test/unit/event.js
This commit is contained in:
jeresig 2011-01-21 09:24:09 -05:00
parent dc2e7317a9
commit 328a86f9a0
2 changed files with 5 additions and 30 deletions

View file

@ -8,7 +8,6 @@ var rnamespaces = /\.(.*)$/,
fcleanup = function( nm ) { fcleanup = function( nm ) {
return nm.replace(rescape, "\\$&"); return nm.replace(rescape, "\\$&");
}, },
focusCounts = { focusin: 0, focusout: 0 },
eventKey = "events"; eventKey = "events";
/* /*
@ -880,21 +879,17 @@ if ( document.addEventListener ) {
jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
jQuery.event.special[ fix ] = { jQuery.event.special[ fix ] = {
setup: function() { setup: function() {
if ( focusCounts[fix]++ === 0 ) { this.addEventListener( orig, handler, true );
document.addEventListener( orig, handler, true ); },
} teardown: function() {
}, this.removeEventListener( orig, handler, true );
teardown: function() {
if ( --focusCounts[fix] === 0 ) {
document.removeEventListener( orig, handler, true );
}
} }
}; };
function handler( e ) { function handler( e ) {
e = jQuery.event.fix( e ); e = jQuery.event.fix( e );
e.type = fix; e.type = fix;
return jQuery.event.trigger( e, null, e.target ); return jQuery.event.handle.call( this, e );
} }
}); });
} }

View file

@ -1953,26 +1953,6 @@ test("window resize", function() {
ok( !jQuery._data(window, "__events__"), "Make sure all the events are gone." ); 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("<input/>"), 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() { test("jQuery(function($) {})", function() {
stop(); stop();