javascript - 附加元素的输入更改时事件不会触发

标签 javascript jquery html

在我的表单中,有一个按钮可以根据用户的需要添加其他元素。对于每个输入字段,都有一个 .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/

相关文章:

html - CSS 选择器 : first/last-of-type and has another class

html - 在 Heroku 上提供从 NodeJS 以编程方式生成的 HTML 文件

javascript - AngularJS - 将 $setValidity 与 ng-repeat 指令一起使用

javascript - 如何使用javascript允许一个特定的单词进入表单中的文本字段?

javascript - 使用 ECMAscripts "bracket notation"访问对象属性有什么缺点吗?

javascript - 带有可点击事件的 jQuery 日历

jquery - 如何直接在图像下获取菜单栏?

html - 是否可以在 iframe 上使用 CSS 圆 Angular ?

javascript - 带有锤子的 meteor :hammer package: The Hammer variable exists, 但未定义

javascript - 将 @Html.EditorFor "Date"值传回 Controller ,操作值并传回 View 以填充下拉列表