选择整个身体到on()

时间:2013-07-14 00:12:29

标签: jquery

$('body').on("click", "ul.typeFirst li a.username", function(e)

可以吗?我这样做的原因是因为上面的ul可以动态加载多次。我只是想知道是否可以选择整个身体,或者更好地创建div或其他东西并选择div并将元素动态加载到该div中。

2 个答案:

答案 0 :(得分:3)

是的,这样做很好(尽管我认为使用$(document)实际上是faster而不是使用$('body'))。

但是,如果所有相关元素都包含在同一个容器<div>中,请通过它选择它。 <div>将是首选且最有效的解决方案。

基本上,只要您能够本地化(并通过本地化,我的意思是专注于)与您的事件相关的特定元素部分,您应该这样做。

答案 1 :(得分:1)

了解实际情况非常重要。看一下这个网站,了解事件如何遍历dom。 http://www.quirksmode.org/js/events_order.html

你正在做一些叫做委托的事情。它比将事件绑定到您实际需要的元素要昂贵得多,因为它必须在每次单击时检查事件目标。它可能适合您使用它,但你要小心它。您不希望在身体级别上执行鼠标移除事件等事情。