-1
$('#fancybox-wrap').on('click', '.pureElement', function () {
//Some Ajax call
});

我将事件挂钩到上面的元素。在每次执行此事件挂钩代码时,它都会向元素添加一个事件。它不会覆盖当前事件。

即如果此代码执行 4 次,单击 pureElement Ajax 调用将触发 4 次。

我只需要事件工作一次,即使我绑定事件可能时间。我能做些什么来指定事件应该只触发一次?

4

3 回答 3

0

尝试使用 .off()

$('#fancybox-wrap').off('click').on('click', '.pureElement', function () {
//Some Ajax call
});
于 2013-07-23T11:06:29.860 回答
0

使用one().

$('#fancybox-wrap').one('click', '.pureElement', function () {
 //Some Ajax call
});

但是我的疑问是it add an event to the element. It do not overwrite the current event.不应该发生...除非有事件冒泡...您可以发布更多代码..或相关的HTML

于 2013-07-23T11:08:15.400 回答
0

也许你需要这个:

$('#fancybox-wrap').on('click', '.pureElement', function (event) {

event.stopImmediatePropagation();

//Some Ajax call

});

于 2013-07-23T11:09:27.843 回答