繁体   English   中英

不在dom上的元素上的延迟绑定单击事件

[英]lazy binding click event on elements not on dom

DOM上很少有元素是作为对Web服务的响应而加载的。 我想在他们上绑定点击事件。 我对webservice调用没有任何控制权,因为它是由我不打算修改的框架完成的。

$(document).on('click', 'element', function)

这本来可以帮到我,但是正在使用的jQuery版本较旧。 是否有替代方法或本机javascript解决方案?

在JavaScript世界中,最热门的方法之一是事件委托,这是有充分理由的。 事件委托使您可以避免将事件侦听器添加到特定节点; 而是将事件侦听器添加到一个父对象。 引用此: http : //davidwalsh.name/event-delegate

document.getElementById("parent-list").addEventListener("click", function(e) {
    // e.target is the clicked element!
    // If it was a list item
    if(e.target && e.target.nodeName == "LI") {
        // List item found!  Output the ID!
        console.log("List item ", e.target.id.replace("post-"), " was clicked!");
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM