javascript - 添加新记录时如何附加委托(delegate)

标签 javascript delegates

我有一个表单,我在其中附加了 OnChange 方法,例如

$(document).ready(function () {
    $('#fieldId').change(function () {
    ...
   }
}

但是当我添加一个新记录时,我会遇到这样的情况:函数中的 Id“fieldId”为

function addTeamMember() {
var newItem= "<input  id='fieldId' type='text'>"
$("#other").append(newItem);
...
}

但是当我更改新添加的字段时,更改不会被触发。有人可以帮我出个主意吗?

谢谢。

最佳答案

将 onchange 事件监听器更改为:

$('body').on('change', '#fieldId', function () {
  // ...
}

您可以将“body”替换为包装动态添加的 DOM 元素的任何容器。这样,您就可以将事件委托(delegate)给现有或尚不存在的元素。

关于javascript - 添加新记录时如何附加委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36769302/

相关文章:

ios - 为什么 iOS 中存在委托(delegate)?

ios - 更改 UISplitViewController iOS 8 中的详细导航项

c# - 当对象是 Task<Something> 时获取 Func<object> 的结果

ios - 没有委托(delegate)方法的缩放 UIScrollView 的子类

javascript - AngularJS - ui-grid - 数据显示问题

javascript - 解析句子并提取转换值

javascript - 如何创建一个在单击时增加计数器的按钮?

C# 字典 <> 缺少键

javascript - express.js 路由解释

javascript - 无法读取 null 的属性 'focus'