Event: Fix chaining .on() with null handlers

Fixes gh-2812
Close gh-2825
This commit is contained in:
Devin Wilson 2016-01-13 21:06:43 -07:00 committed by Timmy Willison
parent df31b88135
commit c4d9eac930
2 changed files with 9 additions and 2 deletions

View File

@ -71,7 +71,7 @@ function on( elem, types, selector, data, fn, one ) {
if ( fn === false ) {
fn = returnFalse;
} else if ( !fn ) {
return this;
return elem;
}
if ( one === 1 ) {

View File

@ -6,7 +6,7 @@ QUnit.module( "event", {
} );
QUnit.test( "null or undefined handler", function( assert ) {
assert.expect( 2 );
assert.expect( 4 );
// Supports Fixes bug #7229
try {
@ -18,6 +18,13 @@ QUnit.test( "null or undefined handler", function( assert ) {
jQuery( "#firstp" ).on( "click", undefined );
assert.ok( true, "Passing an undefined handler will not throw an exception" );
} catch ( e ) {}
var expectedElem = jQuery( "#firstp" );
var actualElem = expectedElem.on( "click", null );
assert.equal(actualElem, expectedElem, "Passing a null handler should return the original element");
actualElem = expectedElem.on( "click", undefined );
assert.equal(actualElem, expectedElem, "Passing a null handler should return the original element");
} );
QUnit.test( "on() with non-null,defined data", function( assert ) {