2010-04-13 107 views
13

我正在將內容加載到一個頁面中,並且會有一個帶有點擊事件的Ajax。這似乎是我第一次加載這個內容一切都按預期工作。如果我再次加載這個事件,事件會觸發兩次(當在代碼中加入斷點時)。我究竟做錯了什麼?有沒有辦法在這些元素重新加載之前清除這些元素的dom?jquery實時事件被執行兩次

+6

我的水晶球現在不可用,也許你可以發佈你的代碼? – 2010-04-13 10:47:05

回答

32

我想你一次又一次地在相同的元素上調用.live()。 在調用.live()之前在這些元素上使用.die()

+0

好吧,我會試試看看它是如何工作的。 – Victor 2010-04-13 10:25:25

22

我固定它是這樣的:

$('selector').die('click').live('click', function() { 
    // Do stuff here 
}); 
2

恰恰印證。正在使用.live()並首先嚐試使用.unbind()。

決賽:

$(".clickedClass").die("click").live("click", function() { 

}); 
0

如果您使用的是方法,而不是活的。 ('body')。unbind()。on('submit','form.make_commitment_form',function(e){....});