0

我使用 jQuery 向 DOM 添加一些 HTML。插入后,我想创建一个事件处理程序,它被调用keyup并单击添加到el. 但是,jQuery 没有找到a加载页面后添加的元素。

var el = $("#name");
// add content to el
$(document).keyup(function(e) {
    el.find('a').click();
});

如何更新 DOM 中的 DOM el?我知道 jQuery 中有on()(及其前身)。但是,它们对我没有帮助,因为事件没有在添加的元素本身上注册,而是在文档上注册,另一个事件只是在新添加的元素上发生。关于如何解决这个问题的任何想法?

4

1 回答 1

0

感谢@Johan 的回复,我正在做进一步的调试并找到了解决方案:

el.find('a')[0].click();

所以真正的问题不是不断变化的 DOM,而是click()显然只能应用于单个元素而不是仅包含一个元素的列表的事件。

click()可以在此处找到有关不触发的一些进一步讨论:如果我还没有使用 bind 或 click 将事件处理程序绑定到它,我可以调用 jquery click() 来跟踪 <a> 链接吗?

于 2013-07-15T12:58:31.287 回答