这些事件处理之间有什么区别
$(document).on("click","selector",function(event){
});
和
$("selector").live("click",function(event){
});
答案 0 :(得分:1)
在第一种情况下,事件附加在“document”DOM上,对吗?
在第二种情况下,事件附加在“选择器”DOM上,对吗?
第一个是由jQuery选择的:只有少数元素捕获解决方案中的事件1 /(文档可以附加到每个事件),但在解决方案中2 /页面的许多元素都在内存中,附加到事件。
例如:
$(".test").live("click",function(event){"do something"}
$(".test1").live("click",function(event){"do something1"}
$(".test2").live("click",function(event){"do something2"}
3个元素正在收听点击事件,对吗?
现在这些元素都在div“myDiv”
中$("#myDiv").on("click",".test",function(event){"do something"}
$("#myDiv").on("click",".test",function(event){"do something"}
$("#myDiv").on("click",".test",function(event){"do something"}
只有myDiv附加事件点击冒泡!
但是不要在文档标签上使用 ,在几个全局div上使用此功能!
答案 1 :(得分:0)
首先,.on()
方法是您应该使用的实际事件侦听器。
第二个.live()
曾经是#1但在最新版本中已弃用,因此您不应再使用它了。
工作方式相同,你可以用同样的方式调用它。