Skip to content
Permalink
Browse files

Tweaked the syntax of withinElement a bit.

  • Loading branch information
jeresig committed Dec 21, 2009
1 parent e083d15 commit 36c99dc0c7a745a88488f519b38de811d6d4c8d9
Showing with 11 additions and 4 deletions.
  1. +11 −4 src/event.js
@@ -532,23 +532,30 @@ jQuery.Event.prototype = {
isPropagationStopped: returnFalse,
isImmediatePropagationStopped: returnFalse
};

// Checks if an event happened on an element within another element
// Used in jQuery.event.special.mouseenter and mouseleave handlers
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 ) {
while ( parent && parent !== this ) {
// Firefox sometimes assigns relatedTarget a XUL element
// which we cannot access the parentNode property of
try { parent = parent.parentNode; }
try {
parent = parent.parentNode;

// assuming we've left the element since we most likely mousedover a xul element
catch(e) { break; }
} catch(e) {
break;
}
}

if ( parent != this ) {
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 );
}

0 comments on commit 36c99dc

Please sign in to comment.
You can’t perform that action at this time.