jQuery:是否有理由不总是使用 live() 来执行单击和其他功能?

发布于 2024-12-06 20:26:06 字数 262 浏览 0 评论 0原文

我真的很喜欢在 jQuery 中使用 .live() 来执行 click() focus() Blur() 和其他交互事件。

我做了很多原型设计,所以我发现如果我想动态添加元素,它给了我很大的灵活性。出于这个原因,我发现自己一直被默认使用它的想法所吸引。这是一个好主意,还是一个糟糕的表现?

使用 .live('click',function(){}) 是否会以 .click(function(){}) 不会的方式减慢速度?

I really like using .live() in jQuery for click() focus() blur() and other interaction events.

I do a lot of prototyping, so I find it gives me great flexibility if I want to dynamically add elements. For that reason, I find myself drawn to the idea of using it by default all the time. Is this a good idea, or is this bad performance?

Does using .live('click',function(){}) slow things down in a way that .click(function(){}) doesn't?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

枕头说它不想醒 2024-12-13 20:26:06

如果您不需要事件冒泡到 DOM 顶部并且您知道事件发生的上下文,那么 delegate() 就性能而言是更好的选择。请参阅这篇 stackoverflow 帖子了解为什么delegate()live() 在这方面。

If you don't need your events to bubble up to the top of the DOM and you know the context in which your event will occur then delegate() is a much better choice in terms of performance. See this stackoverflow post on why delegate() is better than live() in this regards.

不如归去 2024-12-13 20:26:06

我认为以下答案将适合它所产生的性能影响 jQuery .live() 是如何工作的?

I think following answer will be suitable for the performance impact it does create How does jQuery .live() work?

网名女生简单气质 2024-12-13 20:26:06

就性能而言,大多数情况下使用 live 效果更好。然而,live 有几个陷阱,这些陷阱在文档中进行了描述 http://api.jquery.com/live /#注意事项

Regarding the performance, using the live is better in most cases. However live has several pitfalls, which are described in the documentation here http://api.jquery.com/live/#caveats.

远山浅 2024-12-13 20:26:06

我记得 .live 使用事件冒泡。

根据我的经验,我发现在大文档中使用 .live 并频繁触发鼠标悬停等事件时,性能会受到明显影响。

jQuery 文档:

但从 jQuery 1.4 开始,事件冒泡可以选择在 DOM 处停止
元素“上下文”。

因此,您可以使用它来最小化性能影响。

I remember that .live uses event bubbling.

In my experience, I've seen noticeable performance hit using .live in big document with a frequently triggered event like mouseover.

jQuery Doc:

But as of jQuery 1.4, event bubbling can optionally stop at a DOM
element "context".

So, you can use that to minimize the performance effect.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文