Commit 1df5084c authored by John Resig's avatar John Resig

Handle some edge cases with binding events to the window object (which is also...

Handle some edge cases with binding events to the window object (which is also a plain object - causing some confusion). Fixes #7143.
parent c00a6ff1
......@@ -282,7 +282,7 @@ jQuery.event = {
delete elemData.handle;
if ( typeof elemData === "function" ) {
delete elem.events;
jQuery.removeData( elem, "events" );
} else if ( jQuery.isEmptyObject( elemData ) ) {
jQuery.removeData( elem );
......@@ -346,7 +346,7 @@ jQuery.event = {
// Trigger the event, it is assumed that "handle" is a function
var handle = elem.nodeType ?
jQuery.data( elem, "handle" ) :
elem.events && elem.events.handle;
(jQuery.data( elem, "events" ) || {}).handle;
if ( handle ) {
handle.apply( elem, data );
......
......@@ -1830,11 +1830,15 @@ test("Non DOM element events", function() {
});
test("window resize", function() {
expect(1);
expect(2);
jQuery(window).unbind();
jQuery(window).bind("resize", function(){
ok( true, "Resize event fired." );
}).resize().unbind("resize");
ok( !jQuery(window).data("events"), "Make sure all the events are gone." );
});
/*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment