簡體   English   中英

為什么此Javascript代碼執行兩次?

[英]Why is this Javascript code executed twice?

在我的網站上單擊鏈接后,將執行以下Javascript代碼,如果條件為true,它將顯示一個警告對話框。 當用戶在警報對話框中選擇“確定”按鈕時,將再次執行代碼塊。

因此警報關閉,再次執行以下代碼,並再次顯示警報對話框。 當使用者第二次關閉警報對話框時,選擇警報對話框上的“確定”按鈕。

如何防止以下代碼執行兩次?

$("#my-button").click(function() {
    var login = someVar;
    if(!someVar || someVar == ''){
        $('.close-reveal-modal').click(); 
        alert(myMessage);
    }
});

從所提供的非常有限的信息中,我可以認為這一切都是錯誤的:

$('.close-reveal-modal').click();

這段代碼應該具有某種功能,可以執行該功能以顯示類似的“警告框”。

完整的代碼對於完整的答案將更有用!

檢查是否兩次添加了單擊處理程序,也許就是導致該行為的原因。

在這種情況下,請刪除其中之一。

根據我們在這里得到的信息,我猜測您的.close-reveal-modal元素位於#my-button (或位於同一html節點中)。

當您觸發對它的單擊(通過$('.close-reveal-modal').click(); )時,它也會觸發對其父節點的單擊,因此也觸發#my-button

我可能是錯的,我們需要HTML部分(會很費勁)來驗證我的理論。

可能與該代碼完全無關。 檢查以確保您的javascript文件未在同一應用中被兩次調用。

暫無
暫無

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

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