2013-02-05 32 views
26

我用live()生成的頁面和框架。但在jQuery 1.9這個函數已被棄用,不起作用。jQuery - 如何使用「on()」方法而不是「live()」?

我使用on()而不是live(),但此方法只能使用一次,並且不適用於幀。

我的代碼如下所示:

$("#element").live('click',function(){ 
    $("#my").html(result); 
    }); 

什麼解決的辦法?

+6

[閱讀文檔](http://api.jquery.com/on/)。將事件處理器委託給DOM樹。 –

+6

[.live()'](http://api.jquery.com/live/)的文檔也有專門關於從'.live()'轉換爲'.on()'的部分。 –

回答

68
$('body').on('click', '#element', function(){ 
    $("#my").html(result); 
}); 

該點擊的元素選擇器現在通過.on()功能參數傳遞,和先前的選擇應該用具有ID最接近父優選選擇器來代替。如果你不知道使用哪個父母選擇器,body也可以工作,但效率較低。

請參閱jQuery 1.9 .live() is not a function瞭解如何遷移現有代碼。

+0

謝謝你這個有用的答案,爲我工作。 – Farhad

+0

thanx ...不錯的答案... –