在我的表单中,有一个按钮可以根据用户的需要添加其他元素。对于每个输入字段,都有一个 .change() 处理程序。问题是 .change 不会在附加的表单元素上触发,但仍会在现有的表单元素上触发。如有任何帮助,我们将不胜感激。
$('.element').each(function() {
$mainElement = $(this); // memorize $(this)
$sibling = $mainElement.next('input'); // find a sibling to $this.
$sibling.change(function($mainElement) {
return function() {
$mainElement.text('My textfield changed');
}
}($mainElement));
Jsfiddle 演示:http://jsfiddle.net/WCDBr/22
最佳答案
尝试 on 方法:
$(document).on('change', 'input', function() {});
//or
$(document).on('change', '.inputclass', function() {});
它将事件注册到文档中,即使对于新添加的文档也应该有效。您的更改事件已注册到现有元素。
关于javascript - 附加元素的输入更改时事件不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36192230/