diff --git a/src/core.js b/src/core.js index d4f5792cc..52c79a2de 100644 --- a/src/core.js +++ b/src/core.js @@ -424,6 +424,15 @@ $.extend( $.validator, { // Support: Chrome, oldIE // "select" is provided as event.target when clicking a option .on( "click.validate", "select, option, [type='radio'], [type='checkbox']", delegate ); + $( this.currentForm.elements ).filter( function( i, el ) { + return $(el).closest(el.form).length === 0; + } ) + .filter(":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], " + + "[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], " + + "[type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], " + + "[type='radio'], [type='checkbox'], [type='button']") + .on( "focusin.validate focusout.validate keyup.validate", delegate).end() + .filter("select, option, [type='radio'], [type='checkbox']").on( "click.validate", delegate); if ( this.settings.invalidHandler ) { $( this.currentForm ).on( "invalid-form.validate", this.settings.invalidHandler );