javascript - jQuery 未绑定(bind)到新创建的 <input> 元素

标签 javascript jquery html binding

这就是我所拥有的:

<script language="javascript">
$('#click').one('click', function () {
   var html = '<input type="text" class="input-mini" id="new-input" />';
   $(this).parent().append(html);
});
$('#new-input').on('keyup', function (e) {
   alert('A key was pressed');
   if (e.keyCode == 13) {
      alert('Enter key pressed');
   }
});
</script>

根据other SO answers的推荐,我发现我应该使用on()绑定(bind)动态创建的元素。我想要发生的是在用户按下 <input> 内的 Enter 键后发生 AJAX 调用。 ID new-input 。然而,当按下任何键时,什么也不会发生。

我需要做什么才能绑定(bind)keyup方法到新附加的<input>元素?

谢谢

最佳答案

阅读documentation

.on() 并不总是绑定(bind)动态创建的元素;只有当您传递一个选择器来监听以下内容时,它才会这样做:

$('some container').on('click', '.new-input', function() { ... });

此外,ID 必须是唯一的;你应该使用类。

关于javascript - jQuery 未绑定(bind)到新创建的 &lt;input&gt; 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15188145/

相关文章:

javascript - 我如何为大致呈向上和向右趋势的演示图表生成随机数?

javascript - WordPress 中的 jQuery slider 和未捕获的 TypeError

javascript - 我应该如何强制 TypeScript 理解这个数组中不会有任何空值?

javascript - jquery地理定位和 map 高亮

html - 在 html 3d 中创建一个圆柱体

android - 响应式网页设计测试工具

javascript - Slickgrid Treeview 搜索

javascript - c3图键值对

javascript - 通过 javascript/jQuery 检测 IE 中的箭头键按下

javascript - localStorage 没有正确存储