Permalink
Browse files

Event: Allow constructing a jQuery.Event without a target

Fixes gh-3139
Closes gh-3140
  • Loading branch information...
1 parent 73bf35e commit 2df590e4ecfb8874b1deaca26d3c4cc2b7f7b140 @dmethvin dmethvin committed Jun 2, 2016
Showing with 10 additions and 1 deletion.
  1. +1 −1 src/event.js
  2. +9 −0 test/unit/event.js
View
@@ -527,7 +527,7 @@ jQuery.Event = function( src, props ) {
// Create target properties
// Support: Safari <=6 - 7 only
// Target should not be a text node (#504, #13143)
- this.target = ( src.target.nodeType === 3 ) ?
+ this.target = ( src.target && src.target.nodeType === 3 ) ?
src.target.parentNode :
src.target;
View
@@ -2736,6 +2736,15 @@ QUnit.test( ".off() removes the expando when there's no more data", function( as
}
} );
+QUnit.test( "jQuery.Event( src ) does not require a target property", function( assert ) {
+ assert.expect( 2 );
+
+ var event = jQuery.Event( { type: "offtarget" } );
+
+ assert.equal( event.type, "offtarget", "correct type" );
+ assert.equal( event.target, undefined, "no target" );
+} );
+
QUnit.test( "preventDefault() on focusin does not throw exception", function( assert ) {
assert.expect( 1 );

0 comments on commit 2df590e

Please sign in to comment.