在 dom 准备好后,我已经有线事件
$('.someClass').on('input', function (e) {
// do something
});
同样,我在添加 .someClass 的地方注入(inject) html 元素以包含同一事件的该字段
var cssClass = "form-control";
if (myProperty == true) {
cssClass = "form-control someClass";
}
('#myTable tr:last').after(
'<tr>'+
'<td><input class=' + cssClass + ' type="text"'</td></tr>'+
'</tr>'
);
但我在 firebug 中渲染为
<input class="form-control someClass" type="text"</td someClass="">
并且该字段未在 .someClass 事件中获取
最佳答案
解决办法是这样写:
$('body').on('input','.someClass', function (e) {
// do something
});
并修复您的代码:
$('#myTable tr:last').after(
'<tr>'+
'<td><input class=' + cssClass + ' type="text"/></td></tr>'
);
关于javascript - 动态添加的元素未连接到 jquery 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34290873/