Skip to content

Commit d77372a

Browse files
Ensuring events work with Document and Window objects
1 parent 78a3afc commit d77372a

3 files changed

Lines changed: 19 additions & 3 deletions

File tree

src/events/off.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ fn.off = function ( this: Cash, eventFullName?: string | Record<string, EventCal
2121

2222
this.each ( ( i, ele ) => {
2323

24-
if ( !isElement ( ele ) ) return;
24+
if ( !isElement ( ele ) && !isDocument ( ele ) && !isWindow ( ele ) ) return;
2525

2626
removeEvent ( ele );
2727

@@ -50,7 +50,7 @@ fn.off = function ( this: Cash, eventFullName?: string | Record<string, EventCal
5050

5151
this.each ( ( i, ele ) => {
5252

53-
if ( !isElement ( ele ) ) return;
53+
if ( !isElement ( ele ) && !isDocument ( ele ) && !isWindow ( ele ) ) return;
5454

5555
removeEvent ( ele, name, namespaces, selector, callback );
5656

src/events/on.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ function on ( this: Cash, eventFullName: Record<string, EventCallback> | string,
8383

8484
this.each ( ( i, ele ) => {
8585

86-
if ( !isElement ( ele ) ) return;
86+
if ( !isElement ( ele ) && !isDocument ( ele ) && !isWindow ( ele ) ) return;
8787

8888
const finalCallback = function ( event: Event ) {
8989

test/modules/events.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,22 @@ describe ( 'Events', { beforeEach: getFixtureInit ( fixture ) }, function () {
209209

210210
});
211211

212+
it ( 'supports Window and Document objects', function ( t ) {
213+
214+
var eles = $([window, document]);
215+
var count = 0;
216+
217+
function handler () {
218+
count++;
219+
}
220+
221+
eles.on ( 'foo', handler );
222+
eles.trigger ( 'foo' );
223+
224+
t.is ( count, 3 );
225+
226+
});
227+
212228
it ( 'ignores the order of namespaces', function ( t ) {
213229

214230
var ele = $('.event');

0 commit comments

Comments
 (0)