javascript - 动态添加的元素未连接到 jquery 事件

标签 javascript jquery

在 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/

相关文章:

php - 将来自 JSON 的数据放入 MySQL 数据库

javascript - mustache .js + jQuery : what is the minimal working example ?

javascript - 使用 jQuery 动态添加 Google Map V3 标记

javascript - 向下滚动网页时显示多个粘性标题

javascript - Highcharts 中的力导向图失去了线条

javascript - 两个数字变量相加返回 NaN

javascript - Google map API place.url 返回 "undefined"?

c# - 如何使用 C#、ASP.NET、SQL Server 端处理实现 jQuery DataTables 插件?

jquery - 如何使用:not selector on click event?

jquery - dropkick js和 body 背景错误