$('body').on("click", "ul.typeFirst li a.username", function(e)
可以吗?我这样做的原因是因为上面的ul
可以动态加载多次。我只是想知道是否可以选择整个身体,或者更好地创建div
或其他东西并选择div
并将元素动态加载到该div中。
答案 0 :(得分:3)
是的,这样做很好(尽管我认为使用$(document)
实际上是faster而不是使用$('body')
)。
但是,如果所有相关元素都包含在同一个容器<div>
中,请通过它选择它。 <div>
将是首选且最有效的解决方案。
基本上,只要您能够本地化(并通过本地化,我的意思是专注于)与您的事件相关的特定元素部分,您应该这样做。
答案 1 :(得分:1)
了解实际情况非常重要。看一下这个网站,了解事件如何遍历dom。 http://www.quirksmode.org/js/events_order.html
你正在做一些叫做委托的事情。它比将事件绑定到您实际需要的元素要昂贵得多,因为它必须在每次单击时检查事件目标。它可能适合您使用它,但你要小心它。您不希望在身体级别上执行鼠标移除事件等事情。