From: jeresig Date: Sat, 13 Feb 2010 10:37:17 +0000 (-0500) Subject: Make sure that live focus and blur events also bind to the regular events, to handle... X-Git-Url: http://git.asbjorn.biz/?p=jquery.git;a=commitdiff_plain;h=dd5c26304af1c5f884ebf0baa5df28a2f8a8c4cc Make sure that live focus and blur events also bind to the regular events, to handle triggered events. Fixes #6055. --- diff --git a/src/event.js b/src/event.js index c6a953b..d59533f 100644 --- a/src/event.js +++ b/src/event.js @@ -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 diff --git a/test/unit/event.js b/test/unit/event.js index 33329c3..21167c7 100644 --- a/test/unit/event.js +++ b/test/unit/event.js @@ -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(){