$('#fancybox-wrap').on('click', '.pureElement', function () {
//Some Ajax call
});
我将事件挂钩到上面的元素。在每次执行此事件挂钩代码时,它都会向元素添加一个事件。它不会覆盖当前事件。
即如果此代码执行 4 次,单击 pureElement Ajax 调用将触发 4 次。
我只需要事件工作一次,即使我绑定事件可能时间。我能做些什么来指定事件应该只触发一次?
尝试使用 .off()
$('#fancybox-wrap').off('click').on('click', '.pureElement', function () {
//Some Ajax call
});
使用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
也许你需要这个:
$('#fancybox-wrap').on('click', '.pureElement', function (event) {
event.stopImmediatePropagation();
//Some Ajax call
});