我使用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()
(和它的前辈)。但是,他们没有帮助我,因为事件不在添加的元素本身上注册,但是在文档上,另一个事件恰好发生在新添加的元素上。关于如何解决这个问题的任何想法?
答案 0 :(得分:0)
感谢@Johan的回复,我正在进行进一步的调试并找到解决方案:
el.find('a')[0].click();
所以真正的问题不是改变DOM而是click()
事件,它显然只能应用于单个元素而不能仅应用于一个元素的列表。
可以在此处找到有关click()
未触发的进一步讨论:Can I call jquery click() to follow an <a> link if I haven't bound an event handler to it with bind or click already?