// Check if mouse(over|out) are still within the same parent element
var parent = event.relatedTarget;
+ // set the correct event type
+ event.type = event.data;
+
// Firefox sometimes assigns relatedTarget a XUL element
// which we cannot access the parentNode property of
try {
if ( parent && parent !== document && !parent.parentNode ) {
return;
}
+
// Traverse up the tree
while ( parent && parent !== this ) {
parent = parent.parentNode;
}
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 );
}
<td id='boundSubmit' class="red">DOCUMENT</td>
</tr>
</table>
+
+ <h1>Mouseleave Tests</h1>
+
+ <div class="out" style="margin:20px; border:1px solid #000; background: red;">
+ <p>Count mouse leave event</p>
+ <div class="in" style="background: green; margin: 10px auto; width: 50%;">
+ <p>mouse over here should not trigger the counter.</p>
+ </div>
+ <p>0</p>
+ </div>
<ul id="log"></ul>
jQuery("#boundSubmit").blink();
});
+var n = 0;
+$("div.out").live("mouseleave", function() {
+ $("p:last", this).text(++n);
+});
</script>
</body>
</html>