fix for #3286
authorBrandon Aaron <brandon.aaron@gmail.com>
Wed, 6 May 2009 01:24:22 +0000 (01:24 +0000)
committerBrandon Aaron <brandon.aaron@gmail.com>
Wed, 6 May 2009 01:24:22 +0000 (01:24 +0000)
src/event.js

index ebdcc59..8d737bf 100644 (file)
@@ -388,14 +388,14 @@ jQuery.event = {
                        setup: bindReady,
                        teardown: function() {}
                },
-               
+
                live: {
                        add: function( proxy, data, namespaces ) {
                                jQuery.extend( proxy, data || {} );
                                proxy.guid += data.selector + data.live;
                                jQuery.event.add( this, data.live, liveHandler );
                        },
-                       
+
                        teardown: function( namespaces ) {
                                jQuery.event.remove( this, namespaces[0], liveHandler );
                        }
@@ -479,8 +479,11 @@ var withinElement = function( event ) {
        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 { parent = parent.parentNode; }
-               catch(e) { parent = this; }
+               // assuming we've left the element since we most likely mousedover a xul element
+               catch(e) { break; }
        }
 
        if ( parent != this ) {