2013-02-16 48 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+