Commit 542099a2 authored by John Resig's avatar John Resig

Make sure that we're doing proper focus bubble testing. Also simplified the...

Make sure that we're doing proper focus bubble testing. Also simplified the logic for the IE focusin/focusout handling.
parent 19ad49e6
...@@ -674,36 +674,26 @@ function trigger( type, elem, args ) { ...@@ -674,36 +674,26 @@ function trigger( type, elem, args ) {
} }
// Create "bubbling" focus and blur events // Create "bubbling" focus and blur events
jQuery.each({ if ( !jQuery.support.focusBubbles ) {
focus: "focusin",
blur: "focusout"
}, function( orig, fix ){
var event = jQuery.event,
handle = event.handle;
function ieHandler() {
arguments[0].type = orig;
return handle.apply(this, arguments);
}
event.special[orig] = { jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ){
setup:function() { event.special[ orig ] = {
if ( this.addEventListener ) { setup: function() {
this.addEventListener( orig, handle, true ); jQuery.event.add( this, fix, ieHandler );
} else {
event.add( this, fix, ieHandler );
}
}, },
teardown:function() { teardown: function() {
if ( this.removeEventListener ) { jQuery.event.remove( this, fix, ieHandler );
this.removeEventListener( orig, handle, true );
} else {
event.remove( this, fix, ieHandler );
}
} }
}; };
function ieHandler() {
arguments[0].type = orig;
return jQuery.event.handle.apply(this, arguments);
}
}); });
}
jQuery.fn.extend({ jQuery.fn.extend({
// TODO: make bind(), unbind() and one() DRY! // TODO: make bind(), unbind() and one() DRY!
bind: function( type, data, fn, thisObject ) { bind: function( type, data, fn, thisObject ) {
......
...@@ -109,6 +109,7 @@ ...@@ -109,6 +109,7 @@
jQuery.support.submitBubbles = eventSupported("submit"); jQuery.support.submitBubbles = eventSupported("submit");
jQuery.support.changeBubbles = eventSupported("change"); jQuery.support.changeBubbles = eventSupported("change");
jQuery.support.focusBubbles = eventSupported("focus");
// release memory in IE // release memory in IE
root = script = div = all = a = null; root = script = div = all = a = null;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment