From f6170fa6751dee97d432535623e38d0ac6431fde Mon Sep 17 00:00:00 2001 From: Dave Methvin Date: Thu, 4 Feb 2016 21:33:43 -0500 Subject: [PATCH] Event: Only warn on `ready` events set on document Fixes #137 --- src/event.js | 6 +++++- test/event.js | 14 ++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/event.js b/src/event.js index bdf21fb9..2c9b9cc8 100644 --- a/src/event.js +++ b/src/event.js @@ -152,5 +152,9 @@ jQuery.each( ajaxEvents.split("|"), ); jQuery.event.special.ready = { - setup: function() { migrateWarn( "'ready' event is deprecated" ); } + setup: function() { + if ( this === document ) { + migrateWarn( "'ready' event is deprecated" ); + } + } }; diff --git a/test/event.js b/test/event.js index 851e90b6..a45640ac 100644 --- a/test/event.js +++ b/test/event.js @@ -792,12 +792,22 @@ test( "hover pseudo-event", function() { }); test( "ready event", function() { - expect( 2 ); + expect( 4 ); expectWarning( "Setting a ready event", 1, function() { jQuery( document ).bind( "ready", function() { ok( true, "ready event was triggered" ); - }).trigger( "ready" ); + }) + .trigger( "ready" ) + .unbind( "ready" ); + }); + + expectNoWarning( "Custom ready event not on document", 1, function() { + jQuery( "#foo" ).bind( "ready", function( e ) { + ok( true, "custom ready event was triggered" ); + }) + .trigger( "ready" ) + .unbind( "ready" ); }); });