From: Brandon Aaron Date: Wed, 6 May 2009 01:24:22 +0000 (+0000) Subject: fix for #3286 X-Git-Url: http://git.asbjorn.it/?a=commitdiff_plain;h=3a9c827bf86657a0d007f66c9920d4c2b1726961;p=jquery.git fix for #3286 --- diff --git a/src/event.js b/src/event.js index ebdcc59..8d737bf 100644 --- a/src/event.js +++ b/src/event.js @@ -388,14 +388,14 @@ jQuery.event = { setup: bindReady, teardown: function() {} }, - + live: { add: function( proxy, data, namespaces ) { jQuery.extend( proxy, data || {} ); proxy.guid += data.selector + data.live; jQuery.event.add( this, data.live, liveHandler ); }, - + teardown: function( namespaces ) { jQuery.event.remove( this, namespaces[0], liveHandler ); } @@ -479,8 +479,11 @@ var withinElement = function( event ) { var parent = event.relatedTarget; // Traverse up the tree while ( parent && parent != this ) { + // Firefox sometimes assigns relatedTarget a XUL element + // which we cannot access the parentNode property of try { parent = parent.parentNode; } - catch(e) { parent = this; } + // assuming we've left the element since we most likely mousedover a xul element + catch(e) { break; } } if ( parent != this ) {