![]() |
1
3
|
![]() |
2
0
bind的问题是,必须在页面上出现元素之后调用bind。。一般来说,人们在文档上调用bind ready,以便可以将行为附加到页面上的元素。如果之后通过javascript将元素添加到页面中,则需要对添加的新元素应用相同的绑定调用,这通常很麻烦,因此可以使用.live代替。 .live使用事件委托,这意味着jquery不会将函数处理程序绑定到页面上的特定元素,而是管理所有不同的live调用,以便在您执行live处理程序所针对的某种操作时,它将检查您对其执行操作的元素是否与给定的选择器匹配(我相信这就是它的工作方式)。我猜它会将事件添加到文档体(用于单击/鼠标操作)。。 我不确定具体细节,但我知道,如果你把live应用到所有事情上,你可能会有一些奇怪的行为。。通常,如果有大量的元素要对其应用某些行为,或者要通过javascript动态添加这些元素,那么最好使用它。 阅读文档了解更多信息: http://api.jquery.com/live/ |
![]() |
3
0
这是一个平衡的行为。
您可以使用.delegate()在中间相遇,这与live不同,因为您指定了事件的上下文。因此,它不会总是开火,因此效率更高。使用表示例,可以使用
绑定、生活和委派都有自己的位置。 另外,顺便说一句,delegate只是$('tr',$('table')[0]).live()的另一种方法,但这看起来很难看,因此delegate存在。 |
![]() |
Ezz Deghedy · 如何获取数据和读取响应 1 年前 |
![]() |
StuP · 响应式Vue组件在数据更改时不更新 2 年前 |
![]() |
burr · 让jQuery选择器识别新添加的DOM元素[关闭] 2 年前 |
![]() |
J. Hu · “表单提交已取消,因为表单未连接”[重复] 6 年前 |
![]() |
pploypiti · 选择所有其他ID不是“this”的元素。id' 6 年前 |
![]() |
xiaolingxiao · 导航到页面后运行javascript 6 年前 |