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