2016-07-19 4 views
0

に提出し、私はボタンを複数回importItemを(Enterキーを押すと)私のコード防止複数の時間形式は以下Enterキー

$('#myDIV').keydown(function (event) { 
     var key=event.which || event.charCode; 
     if(key == 13) // the enter key code 
     { 
     event.preventDefault(); 
     importItem(); 
     } 
}); 

である私はこれを防ぐことができますどのように、複数回呼び出さなっていますか?私はコードの発行された種類を使用するためにここにfucntionを提出していません。

+1

あなたはこの 'VARチェッカー=真のように試すことができます。 $( '#1 myDIV')のKeyDown(関数(イベント){ \t VARキー= event.which || event.charCode; \t IF(チェッカー){ \t \t場合(キー== 13)//キーコードを \t \t { \t \t \tをevent.preventDefault(); \t \t \t importItem();偽 \t \t \tチェッカー=; \t \t}入力 " – guradio

+0

ページを更新せずに別のフォームに2回目のEnterキーを使用することを許可していません –

+0

clickイベント?あなたはキーダウンイベントを意味しますか? –

答えて

0

コードの多重実行を遅延させて防止するには、setTimeout()を使用します。

var timeout = null; 
    $('#myDIV').keydown(function (event) { 
      var key=event.which || event.charCode; 
      if(key == 13) // the enter key code 
      { 
      event.preventDefault(); 
      if(timeout != null){ 
       clearTimeout(timeout); 
       timeout = null; 
      } 
      timeout = setTimeout(function(){ 
       importItem(); 
      }, 1000); 
      } 
    }); 
+0

フォームがギャップを持って提出されている間にEnterキーを押してから、複数回提出されました –

+0

別の入力キーが許可される前に提出を最初に終了しますか? –

+0

はい、ちょうど、フォームが提出された後に、私は –

0
// Define a global flag 
allowSubmit = true 

// And in your custom submit event function 
if allowSubmit 
    $('#yourForm').submit() #Fire native submit function manually here 
    allowSubmit = false 
else 
    return false 
関連する問題