Make sure that live focus and blur events also bind to the regular events, to handle triggered events. Fixes #6055.

This commit is contained in:
jeresig 2010-02-13 05:37:17 -05:00
parent 467063a2e2
commit dd5c26304a
2 changed files with 17 additions and 2 deletions

View file

@ -956,7 +956,14 @@ jQuery.each(["live", "die"], function( i, name ) {
}
preType = type;
type = (liveMap[ type ] || type) + namespaces;
if ( type === "focus" || type === "blur" ) {
types.push( liveMap[ type ] + namespaces );
type = type + namespaces;
} else {
type = (liveMap[ type ] || type) + namespaces;
}
if ( name === "live" ) {
// bind live handler

View file

@ -759,7 +759,7 @@ test("toggle(Function, Function, ...)", function() {
});
test(".live()/.die()", function() {
expect(65);
expect(66);
var submit = 0, div = 0, livea = 0, liveb = 0;
@ -1024,6 +1024,14 @@ test(".live()/.die()", function() {
equals( livee, 1, "Click, deep selector." );
jQuery("#nothiddendiv div").die("click");
jQuery("#nothiddendiv div").live("blur", function(){
ok( true, "Live div trigger blur." );
});
jQuery("#nothiddendiv div").trigger("blur");
jQuery("#nothiddendiv div").die("blur");
});
test("die all bound events", function(){