多次绑定事件。但我需要事件只能工作一次

时间:2013-07-23 11:05:26

标签: jquery events

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

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

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

我只需要一次只能工作的事件,即使我绑定事件可能是时间。 如何指定事件应该只触发一次?

3 个答案:

答案 0 :(得分:0)

尝试使用.off()

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

答案 1 :(得分: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

答案 2 :(得分:0)

也许你需要这个:

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

event.stopImmediatePropagation();

//Some Ajax call

});