From: jeresig <jeresig@gmail.com>
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/?a=commitdiff_plain;h=6a82f2ae63263ed9deaff9d9dcc775a2c0cde343;p=jquery.git

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,