javascript - 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);
});
我在这里做错了什么?
解决方案
对于动态创建的元素,使用委托事件:
$('body').on('keyup', 'input[type=text]' function (e) {
推荐阅读
- linux - 删除具有低质量碱基调用的读取
- awk - 根据 csv 中的列值获取行
- javascript - 无论如何要在鼠标仍在移动区域时停止“onmousemove”功能?
- python - 当值是python中的列表时如何将值添加到字典中
- pandas - 熊猫数据框在循环中添加值
- java - 'java.lang.NullPointerException:void android.support.v7.app.ActionBar.setElevation(float)' 如何在空对象引用上'
- reactjs - 如何在 React Native 中使用断点进行调试
- python - 将行放入多个变量中时如何找到文件的结尾(即不使用 for line in f)
- javascript - Javascript:覆盖日期 - 如何获取传递给构造函数的值
- css - 如何使用样式组件(Sandbox 中的示例)为 ant-design Icon 添加文本轮廓效果?