2010-04-13 112 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){....});