簡體   English   中英

彈出窗口以短時間間隔多次觸發

[英]Popup is triggered multiple times with short time interval

我想讓一個輸入字段以這樣一種方式動態地對無效輸入做出反應,即顯示一個彈出窗口(帶有 window.alert)以通知玩家無效輸入。 但是,在我關閉彈出窗口后,相同的彈出窗口會以非常短的時間間隔顯示兩次。 在此之后可以更改輸入。

我該如何解決? 有沒有辦法確保彈出窗口不會再次顯示幾秒鍾?

相關代碼:

$(':input').bind('keypress keydown keyup change',function(){
  var weight = parseFloat(String($(':input[name='.concat(n,']')).val()).replace(',', '.'));

  if (weight > 100 || weight < 0){
      window.alert("Bitte eine Nummer zwischen 0 und 100 eingeben!");
  }

});

你綁定了 4 個事件來做同樣的事情,所以你應該得到 4 個警報:

所有 4 個事件都會觸發,因為您按下鍵,然后釋放鍵,並且由於元素在您發出警報時失去焦點,因此也會觸發更改事件。

  • keypress (Deprecated) 在按下產生字符值的鍵時觸發
  • 當一個鍵被按下時會觸發keydown
  • 當一個鍵被釋放時, keyup被觸發。
  • 當用戶提交值時會觸發更改

您忘記輸入事件要完成...

使用更改事件,僅在用戶提交值時運行您的代碼。

暫無
暫無

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

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