X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fevent.js;h=e667ddbdc251b2a0a18e23265bb2160d7185113e;hb=da5706c974f8ef720b3194179366e1096c19269e;hp=169760a8b53d9b178075ea5a6cd89e26203e102e;hpb=9dc6e0c572b9c809a3a4c123071d96d48a01dd1c;p=jquery.git diff --git a/src/event.js b/src/event.js index 169760a..e667ddb 100644 --- a/src/event.js +++ b/src/event.js @@ -25,7 +25,7 @@ jQuery.event = { // For whatever reason, IE has trouble passing the window object // around, causing it to be cloned in the process - if ( elem.setInterval && ( elem !== window && !elem.frameElement ) ) { + if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) { elem = window; } @@ -515,7 +515,7 @@ jQuery.event = { beforeunload: { setup: function( data, namespaces, eventHandle ) { // We only want to do this special case on windows - if ( this.setInterval ) { + if ( jQuery.isWindow( this ) ) { this.onbeforeunload = eventHandle; } }, @@ -944,6 +944,14 @@ jQuery.each(["live", "die"], function( i, name ) { var type, i = 0, match, namespaces, preType, selector = origSelector || this.selector, context = origSelector ? this : jQuery( this.context ); + + if ( typeof types === "object" && !types.preventDefault ) { + for ( var key in types ) { + context[ name ]( key, data, types[key], selector ); + } + + return this; + } if ( jQuery.isFunction( data ) ) { fn = data; @@ -995,7 +1003,7 @@ jQuery.each(["live", "die"], function( i, name ) { function liveHandler( event ) { var stop, maxLevel, elems = [], selectors = [], - related, match, handleObj, elem, j, i, l, data, close, namespace, + related, match, handleObj, elem, j, i, l, data, close, namespace, ret, events = jQuery.data( this, "events" ); // Make sure we avoid non-left-click bubbling in Firefox (#3861)