From d46042e0500fb8241bf5ba012dfc779b535aa5fe Mon Sep 17 00:00:00 2001 From: Brian Brennan Date: Sun, 17 Apr 2011 11:58:20 -0700 Subject: [PATCH] Fix live mouseenter and mouseleave binding so they can be activated by triggers. Fixes #6514. --- src/event.js | 2 +- test/unit/event.js | 21 +++++++++++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/event.js b/src/event.js index 32d51d05..7ee4a300 100644 --- a/src/event.js +++ b/src/event.js @@ -1066,7 +1066,7 @@ jQuery.each(["live", "die"], function( i, name ) { preType = type; - if ( type === "focus" || type === "blur" ) { + if ( type === "focus" || type === "blur" || type === "mouseenter" || type === "mouseleave" ) { types.push( liveMap[ type ] + namespaces ); type = type + namespaces; diff --git a/test/unit/event.js b/test/unit/event.js index a1aee191..487388c4 100644 --- a/test/unit/event.js +++ b/test/unit/event.js @@ -832,7 +832,7 @@ test("trigger() bubbling", function() { }); test("trigger(type, [data], [fn])", function() { - expect(14); + expect(16); var handler = function(event, a, b, c) { equals( event.type, "click", "check passed data" ); @@ -849,7 +849,24 @@ test("trigger(type, [data], [fn])", function() { ok( true, "Native call was triggered" ); }; - // Triggers handlrs and native + + $elem.live('mouseenter', function(){ + ok( true, 'Trigger mouseenter bound by live' ); + }); + + $elem.live('mouseleave', function(){ + ok( true, 'Trigger mouseleave bound by live' ); + }); + + $elem.trigger('mouseenter'); + + $elem.trigger('mouseleave'); + + $elem.die('mouseenter'); + + $elem.die('mouseleave'); + + // Triggers handlrs and native // Trigger 5 $elem.bind("click", handler).trigger("click", [1, "2", "abc"]);