单击使用jQuery在KeyUp上动态添加的链接

时间:2013-07-15 12:34:53

标签: javascript jquery dom javascript-events keyup

我使用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()(和它的前辈)。但是,他们没有帮助我,因为事件在添加的元素本身上注册,但是在文档上,另一个事件恰好发生在新添加的元素上。关于如何解决这个问题的任何想法?

1 个答案:

答案 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?