在(“点击”)不会被调用
问题描述:
我有这样的代码:在(“点击”)不会被调用
$('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中的更改。我错过了什么吗?
答
是的,您是:.on()
结合了现场活动,代表和常规活动,您使用的语法创建了一个常规活动。
你想要什么是
$('#someparentelement').on('click', 'input.error',function() {
// ...
});
#someparentelement
应该是尽可能接近到输入元素,但在当时存在的,当你绑定事件的元素。
为什么你的理解?考虑阅读文档:http://api.jquery.com/on/ – Esailija 2012-07-08 21:35:44
愚蠢的我。问题在于API页面上的第一个代码示例是如何*不*执行的:p – Damon 2012-07-08 21:40:26