Javascript 如何在添加新记录时附加代理
我有一个表单,其中附加了OnChange方法,如Javascript 如何在添加新记录时附加代理,javascript,delegates,Javascript,Delegates,我有一个表单,其中附加了OnChange方法,如 $(document).ready(function () { $('#fieldId').change(function () { ... } } 但当我从一个函数中添加一个Id为“fieldId”的新记录时,我就遇到了这种情况 function addTeamMember() { var newItem= "<input id='fieldId' type='text'>" $("#other").app
$(document).ready(function () {
$('#fieldId').change(function () {
...
}
}
但当我从一个函数中添加一个Id为“fieldId”的新记录时,我就遇到了这种情况
function addTeamMember() {
var newItem= "<input id='fieldId' type='text'>"
$("#other").append(newItem);
...
}
函数addTeamMember(){
var newItem=“”
$(“#其他”)。追加(新项目);
...
}
但当我更改新添加的字段时,不会触发更改。有人能帮我个主意吗
谢谢。将onchange事件侦听器更改为:
$('body').on('change', '#fieldId', function () {
// ...
}
您可以用任何包装动态添加的DOM元素的容器替换“body”。通过这种方式,您可以将事件委派给现有或不存在的元素。将onchange事件侦听器更改为:
$('body').on('change', '#fieldId', function () {
// ...
}
您可以用任何包装动态添加的DOM元素的容器替换“body”。通过这种方式,您可以将事件委派给现有或不存在的元素。首先,不要对多个元素(即使动态创建)使用相同的
id
,也不要对多个元素(即使动态创建)使用相同的id
更好的方法是尽可能地绑定到元素(通常是它们的容器元素),而不是绑定到body
。太好了!谢谢由于我不知道他的DOM结构,我声明了“body”,并在下面声明,他所需要的只是DOM元素周围的一些容器。更好的方法是尽可能地绑定到元素(通常是它们的容器元素),而不是绑定到body
。太棒了!谢谢因为我不知道他的DOM结构,所以我声明了“body”,并在下面声明,他所需要的只是DOM元素周围的一些容器