我正在尝试将on change事件附加到我动态插入的输入中。 HMTL就像这样开始:
<div id="myDiv"></div>
然后在页面处于活动状态时将HTML注入其中(它通过ajax加载,而不是onReady,它使用成功函数):
$("#myDiv").html('<table><tr><td><input type="text" class="myInput"></td></tr></table>');
为了将onChange事件处理程序附加到此,我在doc的onReady中有以下事件委托事件绑定:
$("#myDiv").on('change', 'input.myInput', function(){ alert($(this).attr('id')); })
我做错了什么,事件永远不会被触发。
答案 0 :(得分:4)
Javascript区分大小写,您的班级名称为myinput
,但您正在聆听myInput
,更改其中一个。
答案 1 :(得分:0)
$("body").on('change', '.myinput', function(){ alert($(this).attr('id')); });
试试这个:http://jsfiddle.net/h7wyS/。让你输入变化..不是你的'div'变化。
$("#myDiv").html('<table><tr><td><input type="text" class="myInput"> </td></tr></table>');
// added the 'blur' too.
$("#myDiv .myInput").on('change, blur', function(e){
alert($(this).parents('div:first').attr('id'));
});
答案 2 :(得分:0)
有几个人想要注意,你在第二行使用骆驼案,实际上应该是'myinput'。并且此元素没有Id,因此您可能想要添加id,否则您将在警告框中未定义。