Jquery document.on事件

时间:2012-08-30 09:01:33

标签: jquery

这些事件处理之间有什么区别

       $(document).on("click","selector",function(event){

        });

       $("selector").live("click",function(event){

       });

2 个答案:

答案 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但在最新版本中已弃用,因此您不应再使用它了。

工作方式相同,你可以用同样的方式调用它。