2013-02-16 47 views
0

在我更改为Jquery 1.9.1之前,我有点困惑,我使用了live()事件将事件绑定到document.ready上的按钮,但现在我被迫将.live()更改为.on()事件,并且我的按钮停止工作。这样的代码,我以前还可以是这样的:在Jquery中添加On()事件而不是live()事件

$(document).ready(function() { 
    $("#button").live('click', buttonEvent); 
}); 

后:

$(document).ready(function() { 
    $("#button").on('click', buttonEvent); 
}); 

我缺少什么?

回答

2
$(document).ready(function() { 
    $(document).on('click', '#button', buttonEvent); 
}); 

jQuery .on()可用于委托元素上的事件。它的模式有点不同但更好。

1

你可以看到这个页面Live to On

从该网页上所要求的变化有以下几种,这证明了语法的变化:

1 $("a.offsite").live("click", function(){ alert("Goodbye!"); }); // jQuery 1.3+ 
2 $(document).delegate("a.offsite", "click", function(){ alert("Goodbye!"); }); // jQuery 1.4.3+ 
3 $(document).on("click", "a.offsite", function(){ alert("Goodbye!"); }); // jQuery 1.7+