diff options
author | Michał Gołębiowski-Owczarek <m.goleb@gmail.com> | 2019-12-09 19:50:14 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-09 19:50:14 +0100 |
commit | d5c505e35d8c74ce8e9d99731a1a7eab0e0d911c (patch) | |
tree | 0b97c61ed363c80b0ab02ef5dd38818ed15903a1 /test/unit | |
parent | 5a3e0664d261422f11a78faaf101d70c73b3a5a8 (diff) | |
download | jquery-d5c505e35d8c74ce8e9d99731a1a7eab0e0d911c.tar.gz jquery-d5c505e35d8c74ce8e9d99731a1a7eab0e0d911c.zip |
Event: Only attach events to objects that accept data - for real
There was a check in jQuery.event.add that was supposed to make it a noop
for objects that don't accept data like text or comment nodes. The problem was
the check was incorrect: it assumed `dataPriv.get( elem )` returns a falsy
value for an `elem` that doesn't accept data but that's not the case - we get
an empty object then. The check was changed to use `acceptData` directly.
Fixes gh-4397
Closes gh-4558
Diffstat (limited to 'test/unit')
-rw-r--r-- | test/unit/event.js | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/test/unit/event.js b/test/unit/event.js index 43e2f3857..4019fbe81 100644 --- a/test/unit/event.js +++ b/test/unit/event.js @@ -2811,6 +2811,15 @@ QUnit.test( "preventDefault() on focusin does not throw exception", function( as }, QUnit.config.testTimeout / 4 || 1000 ); } ); +QUnit.test( ".on('focus', fn) on a text node doesn't throw", function( assert ) { + assert.expect( 1 ); + + jQuery( document.createTextNode( "text" ) ) + .on( "focus", function() {} ); + + assert.ok( true, "No crash" ); +} ); + QUnit.test( "Donor event interference", function( assert ) { assert.expect( 8 ); |