首页 > 解决方案 > Jquery:在动态添加的输入控件上未触发 Keyup 事件

问题描述

以下

$('input[type = text]').on('keyup', function (e) {

});

非常适合静态创建的控件

<input id="txtSearch" type="text" class="col-md-12 col-sm-12 col-xs-12 col-lg-12">

但不会触发,在动态创建并呈现为的控件上

<input type="text" class="form-control" id="idName" name="textBox">

通过 ajax json 响应和 html 的混合。

jQuery.each(response.controls, function (index, item) {
    var input = jQuery("<div class='form-group'><input type='text' class='form-control' id='" + item.id + "' name='textBox'></div>");
    jQuery('#fields').append(input);
});

我在这里做错了什么?

标签: javascriptjquery

解决方案


对于动态创建的元素,使用委托事件

$('body').on('keyup', 'input[type=text]' function (e) {

推荐阅读