簡體   English   中英

如果將按鈕放入SubmitHandler,為什么我的按鈕在jquery中單擊兩次?

[英]Why does my button click twice in jquery if I put it in submitHandler?

我有一個簡短的表格,您可以在這里看到它http://jsfiddle.net/azxpckg5/1/

我有一個問題-再現它的方法是單擊“ save按鈕。 然后將出現另一個名為submit按鈕。 當用戶單擊它時-它消失了就可以了。 但是,當用戶重復此過程時(再次單擊“ save並再次submit -他可以看到最后一次單擊重復了兩次。我相信錯誤可能在這里:

submitHandler: function (form) {
        alert("here!");
        $(".overlay-boxify2").toggleClass("open");
        $('#submitcForm').click(function() {
   // 
         $(".overlay-boxify2").toggleClass("open");
            alert("hegdsgsd");
        });
        return false;
    }

但老實說,我不知道如何解決它,可能是什么問題。 你能幫我嗎?

問題是因為您要在表單的每個提交#submitcForm另一個click事件處理程序附加到#submitcForm按鈕上(在單擊#saveBtn時發生。將單擊處理程序#saveBtn validate()調用之外,您的代碼將按您的方式工作要求。

$('#invoiceForm').validate({
    // settings...
});

$('#submitcForm').click(function () {
    $(".overlay-boxify2").toggleClass("open");
});

更新的小提琴

使用.off()防止在您的按鈕上附加多個click eventListener

submitHandler: function (form) {
    alert("here!");
    $(".overlay-boxify2").toggleClass("open");
    $('#submitcForm').off().click(function() { // see the use of .off()
        $(".overlay-boxify2").toggleClass("open");
        alert("hegdsgsd");
    });
    return false;
}

進一步了解.off()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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