[英]on/off click events in Jquery
我正在嘗試打開和關閉點擊事件以防止多個函數調用。 以下是我的代碼。 點擊是關閉但我似乎無法再打開它。 思考?
$("#element").click(function(){
doit();
$(this).off('click');
})
function doit(){
do stuff...
//turn click back on
$("#element").on('click');
}
您需要將處理程序傳遞回on方法,也可以使用.one(),因為您只需要觸發一次
function clickHandler() {
doit();
}
$("#element").one('click', function () {})
function doit() {
//do stuff...
//turn click back on
$("#element").one('click', clickHandler);
}
您似乎在調用doit()后將其設置為關閉,然后將其打開。 嘗試:
$("#element").click(function(){
$(this).off('click');
doit();
})
function doit(){
do stuff...
//turn click back on
$("#element").on('click');
}
調用$("#element").on('click');
沒有提供動作處理程序是沒用的。 您需要再次傳遞處理程序才能將其打開。
$("#element").on('click', clickEvent);
function doit() {
// do stuff...
//turn click back on
$("#element").on('click', clickEvent);
}
function clickEvent() {
doit();
$("#element").off('click');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.