我想为整个文档添加一个事件监听器,如果程序在函数内部则需要另一个事件监听器。
例如。
$(document).click(function(){
foo();
//etc.
});
function f1(){
$(document).click(function(){
bar();
//etc.
});
//etc.
};
跑步时:
click -> foo();
click -> foo();
...
f1();
click -> bar();
click -> bar();
答案 0 :(得分:3)
假设从click
删除所有document
事件处理程序是可以的,您可以在附加新事件之前使用.off()
:
$(document).click(foo);
function f1(){
$(document).off('click').click(bar);
};
答案 1 :(得分:1)
有点晚了,但这里有一些符合你想要的代码:JSfiddle。
HTML:
<button id="f1" style="display:none;">Button for f1</button>
JS:
function f1() {
$(document).off('click').on('click', foo);
}
var foo = function () {
$('button').show().click(f2);
};
function f2(e) {
e.stopPropagation();
$(document).off('click', foo).on('click', bar);
}
var bar = function () {
$('button').hide();
f1();
};
f1();