From: Brandon Aaron Date: Wed, 6 May 2009 02:17:24 +0000 (+0000) Subject: fix for #4234. hover can take one function to use for both enter and leave. X-Git-Url: http://git.asbjorn.biz/?p=jquery.git;a=commitdiff_plain;h=8f042d8be34fe2d197e45d6fa398456759a4c007 fix for #4234. hover can take one function to use for both enter and leave. --- diff --git a/src/event.js b/src/event.js index 8d737bf..ebf1231 100644 --- a/src/event.js +++ b/src/event.js @@ -569,7 +569,7 @@ jQuery.fn.extend({ }, hover: function( fnOver, fnOut ) { - return this.mouseenter( fnOver ).mouseleave( fnOut ); + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); }, ready: function( fn ) { diff --git a/test/unit/event.js b/test/unit/event.js index 63c640d..98833ec 100644 --- a/test/unit/event.js +++ b/test/unit/event.js @@ -233,6 +233,24 @@ test("unbind(eventObject)", function() { assert( 0 ); }); +test("hover()", function() { + var times = 0, + handler1 = function( event ) { ++times; }, + handler2 = function( event ) { ++times; }; + + jQuery("#firstp") + .hover(handler1, handler2) + .mouseenter().mouseleave() + .unbind("mouseenter", handler1) + .unbind("mouseleave", handler2) + .hover(handler1) + .mouseenter().mouseleave() + .unbind("mouseenter mouseleave", handler1) + .mouseenter().mouseleave(); + + equals( times, 4, "hover handlers fired" ); +}); + test("trigger() shortcuts", function() { expect(6); jQuery('
  • Change location
  • ').prependTo('#firstUL').find('a').bind('click', function() {