gpt4 book ai didi

jquery .live ('click' ) 与 .click()

转载 作者:行者123 更新时间:2023-12-03 21:25:27 27 4
gpt4 key购买 nike

我想知道是否有任何情况下使用 .click(function {...}); 而不是 .live('click', function { ...});?

据我所知,实时选项似乎是一个更好的选择,因此我在几乎所有情况下都使用它而不是普通的 .click(),特别是考虑到我的很多代码都是异步加载的。

编辑:这个问题的另一部分。如果我异步加载所有 javascript,.click 仍会拾取 dom 中已有的所有元素。对吗?

最佳答案

有时您可能明确希望仅将单击处理程序分配给已存在的对象,并以不同的方式处理新对象。但更常见的是,直播并不总是有效。它不适用于链接的 jQuery 语句,例如:

$(this).children().live('click',doSomething);

由于事件在 DOM 树中冒泡的方式,它需要一个选择器才能正常工作。

编辑:有人刚刚对此表示赞同,所以显然人们仍在关注它。我应该指出 livebind 都是 deprecated 。您可以使用 .on() 执行这两项操作,IMO 是一个更清晰的语法。替换bind:

$(selector).on('click', function () {
...
});

并替换live:

$(document).on('click', selector, function () {
...
});

您可以使用任何包含您正在监视点击的所有元素的 jQuery 对象,而不是使用 $(document),但调用它时相应的元素必须存在。

关于jquery .live ('click' ) 与 .click(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4944293/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com