我有一个代码:
$('input.error').on('click', function(){
$(this).removeClass('error').val($(this).data('submitval'));
});
但是当我点击一个错误类的表单元素时,如下所示:
<input id="email" type="email" class="required error" placeholder="Enter Your Email here" name="email" value="">
没有任何反应,我设置的断点没有被调用,也没有代码执行。但是,如果我将其设置为$('input')
,它确实有效。我的理解是.on
应该涵盖加载后DOM的变化。我错过了什么吗?
答案 0 :(得分:3)
是的,您是:.on()
结合了直播活动,代表和常规活动,您使用的语法创建了常规活动。
你想要的是
$('#someparentelement').on('click', 'input.error',function() {
// ...
});
#someparentelement
应该是一个尽可能接近输入元素但在绑定事件时存在的元素。