给出以下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 );
任何人都知道为什么?
编辑:更正小提琴以纠正其中一个:http://jsfiddle.net/PEpRM/1
答案 0 :(得分:19)
无效事件不会冒泡,它在documentation中也是如此,因此委托事件处理程序无法正常运行,因为事件不会冒泡。
这应该有效
jQuery("form input").on("invalid", function(event) {
console.log(event.type);
});