簡體   English   中英

在Jquery中打開/關閉單擊事件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM