使用jQuery点击KeyUp上动态添加的链接
Click on dynamically added link on KeyUp with jQuery
我使用jQuery向DOM添加一些HTML。插入后,我想创建一个在keyup
上调用的事件处理程序,并单击添加到el
的链接。但是,jQuery找不到a
元素,因为它是在加载页面后添加的。
var el = $("#name");
// add content to el
$(document).keyup(function(e) {
el.find('a').click();
});
如何更新el
中的DOM?我知道jQuery中有on()
(及其前身)。然而,它们对我没有帮助,因为事件不是注册在添加的元素本身上,而是注册在文档上,而另一个事件只是发生在新添加的元素上。关于如何解决这个问题有什么想法吗?
感谢@Johan的回复,我进行了进一步的调试,找到了解决方案:
el.find('a')[0].click();
因此,真正的问题不是DOM的变化,而是click()
事件,它显然只能应用于单个元素,而不能应用于只有一个元素的列表。
关于click()
不开火的一些进一步讨论可以在这里找到:我可以调用jquery click()来跟随<a>如果我还没有链接';是否已经使用bind或click将事件处理程序绑定到它?
相关文章:
- 如何在Angular中的表的所有单元格中添加链接
- 如何使用 HTML/JavaScript 为对象添加链接
- 如何在滑块图像上添加链接
- HTML::向输入标记添加链接
- 正在向库图像添加链接
- 在旋转javascript横幅中添加链接
- 向每个堆叠条形图项目添加链接
- 根据课程自定义字段在课程页面上添加链接
- 如何使用java脚本添加链接
- 如何在D3元素中添加链接
- 如果满足条件,则使用JQuery向元素添加链接
- 当屏幕尺寸较小时,可使用Javascript向移动菜单添加链接.不再有效
- javascript下拉列表-无法添加链接
- Ext JS Gannt 在任务之间添加链接
- 添加链接时 JQuery 停止工作
- Javascript 在添加表行时添加链接文本
- 如何在 d3.js 行添加链接名称
- Umbraco 将从第 @nodename 页添加链接作为表单上的文本输入值
- 在jQuery插件中添加链接的方法
- 在可折叠内容标头(拆分链接)中添加链接 - 缺少 css