X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fevent.js;h=ff6067f371b7b3f0e6995fbfd2547e1f32a63214;hb=851846aabea72fe784b8a13cfb04cffecdb771b6;hp=4127fa8f19da1f615a04cfedb303af1b55e231ee;hpb=3715d73f79be3f3a61182f6c49dd306e5c0f3075;p=jquery.git diff --git a/src/event.js b/src/event.js index 4127fa8..ff6067f 100644 --- a/src/event.js +++ b/src/event.js @@ -13,7 +13,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 ) + if ( elem.setInterval && ( elem != window && !elem.frameElement ) ) elem = window; // Make sure that the function being executed has a unique ID @@ -116,7 +116,8 @@ jQuery.event = { // Namespaced event handlers var namespaces = type.split("."); type = namespaces.shift(); - var namespace = new RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)"); + var all = !namespaces.length, + namespace = new RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)"); if ( events[type] ) { // remove the given handler for the given type @@ -127,7 +128,7 @@ jQuery.event = { else for ( var handle in events[type] ) // Handle the removal of namespaced events - if ( namespace.test(events[type][handle].type) ) + if ( all || namespace.test(events[type][handle].type) ) delete events[type][handle]; if ( jQuery.event.specialAll[type] )