这些事件处理有什么区别
$(document).on("click","selector",function(event){
});
和
$("selector").live("click",function(event){
});
这些事件处理有什么区别
$(document).on("click","selector",function(event){
});
和
$("selector").live("click",function(event){
});
在第一种情况下,事件附加在“文档”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 通过冒泡附加事件点击!
但是不要在文档标签上使用on,在几个全局 div 上使用这个功能!
首先,该.on()
方法是您应该使用的实际事件侦听器。
Second .live()
曾经是 #1,但在最后一个版本中已被弃用,因此您不应再使用它。
工作方式相同,您可以将其称为相同方式。