X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fevent.js;h=8529d1371f25d8eb0de2dca5e0a86fce61776b28;hb=a3e97062d42ad6ee1c5feff9382a854768703d54;hp=b93364b7f9c64413e309572be7177e44523a096d;hpb=cf78e396db1b986360c32fb0ca071a0fb90da064;p=jquery.git diff --git a/src/event.js b/src/event.js index b93364b..8529d13 100644 --- a/src/event.js +++ b/src/event.js @@ -66,7 +66,7 @@ jQuery.event = { // Check for a special event handler // Only use addEventListener/attachEvent if the special // events handler returns false - if ( !jQuery.event.special[type] || jQuery.event.special[type].setup.call(elem) === false ) { + if ( !jQuery.event.special[type] || jQuery.event.special[type].setup.call(elem,data) === false ) { // Bind the global event handler to the element if (elem.addEventListener) elem.addEventListener(type, handle, false); @@ -370,9 +370,9 @@ jQuery.event = { }, mouseenter: { - setup: function() { + setup: function( data ) { if ( jQuery.browser.msie ) return false; - jQuery(this).bind("mouseover", jQuery.event.special.mouseenter.handler); + jQuery(this).bind("mouseover", data, jQuery.event.special.mouseenter.handler); return true; }, @@ -392,9 +392,9 @@ jQuery.event = { }, mouseleave: { - setup: function() { + setup: function( data ) { if ( jQuery.browser.msie ) return false; - jQuery(this).bind("mouseout", jQuery.event.special.mouseleave.handler); + jQuery(this).bind("mouseout", data, jQuery.event.special.mouseleave.handler); return true; }, @@ -603,6 +603,9 @@ var withinElement = function(event, elem) { // Prevent memory leaks in IE // And prevent errors on refresh with events like mouseover in other browsers // Window isn't included so as not to unbind existing unload events -jQuery(window).bind("unload", function() { - jQuery("*").add(document).unbind(); -}); +jQuery( window ).bind( 'unload', function(){ + for ( var id in jQuery.cache ) + // Skip the window + if ( id != 1 && jQuery.cache[ id ].handle ) + jQuery.event.remove( jQuery.cache[ id ].handle.elem ); +});