From: jeresig Date: Sat, 13 Feb 2010 10:45:48 +0000 (-0500) Subject: Make sure that mousing over XUL elements results in no trigger of a mouseleave. Fixes... X-Git-Url: http://git.asbjorn.biz/?p=jquery.git;a=commitdiff_plain;h=6a82f2ae63263ed9deaff9d9dcc775a2c0cde343 Make sure that mousing over XUL elements results in no trigger of a mouseleave. Fixes #6013. --- diff --git a/src/event.js b/src/event.js index d59533f..6e65438 100644 --- a/src/event.js +++ b/src/event.js @@ -604,27 +604,24 @@ var withinElement = function( event ) { // Check if mouse(over|out) are still within the same parent element 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 { + // Firefox sometimes assigns relatedTarget a XUL element + // which we cannot access the parentNode property of + try { + // Traverse up the tree + while ( parent && parent !== this ) { parent = parent.parentNode; - - // assuming we've left the element since we most likely mousedover a xul element - } catch(e) { - break; } - } - if ( parent !== this ) { - // set the correct event type - event.type = event.data; + if ( parent !== this ) { + // set the correct event type + event.type = event.data; - // handle event if we actually just moused on to a non sub-element - jQuery.event.handle.apply( this, arguments ); - } + // handle event if we actually just moused on to a non sub-element + jQuery.event.handle.apply( this, arguments ); + } + // assuming we've left the element since we most likely mousedover a xul element + } catch(e) { } }, // In case of event delegation, we only need to rename the event.type,