Make sure that mousing over XUL elements results in no trigger of a mouseleave. Fixes #6013.
This commit is contained in:
parent
dd5c26304a
commit
6a82f2ae63
29
src/event.js
29
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,
|
||||
|
|
Loading…
Reference in a new issue