Подтвердить что ты не робот

JQuery on vs bind для недопустимого типа события

Учитывая следующий HTML:

<form>
  <input type="number" required>
</form>

Следующий javascript отлично работает:

(function( jQuery ) {

    jQuery("input").bind("invalid", function(event) {
        console.log(event.type);
    });

})( jQuery );  

Но этот код javascript не делает:

(function( jQuery ) {

    jQuery("form").on("invalid", "input", function(event) {
        console.log(event.type);
    });

})( jQuery );

Кто-нибудь понял, почему?

EDIT: обновлена ​​скрипка, чтобы исправить ее: http://jsfiddle.net/PEpRM/1

4b9b3361

Ответ 1

Недействительное событие не пузырится, это говорит об этом в документации, поэтому делегированные обработчики событий не будут работать, поскольку событие не будет пузыриться.

Это должно работать

jQuery("form input").on("invalid", function(event) {
    console.log(event.type);
});