[英]jQuery - How can I temporarily disable the onclick event listener after the event has been fired?
[英]Can I override an event listener temporarily?
我想為整個文檔添加一個事件監聽器,如果程序在函數內部,則添加另一個。
例如。
$(document).click(function(){
foo();
//etc.
});
function f1(){
$(document).click(function(){
bar();
//etc.
});
//etc.
};
並且在運行時:
click -> foo();
click -> foo();
...
f1();
click -> bar();
click -> bar();
有點晚了,但是這里有一些代碼可以滿足您的需求: 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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.