2016-11-03 5 views
-1

これは私のコードですが、私はそれについてどうやって解決するかについての課題を抱えています。私は最初のプレスの後に3秒間Enterキーパッドを無効にして、再度それを再び有効にしたい。これは私の試みです最初にEnterキーパッドを押した後、3秒間Enterキーパッドを無効にしてください。

function disableForThreeSeconds(e) { 
    if (e.keyCode == 13) { 
     //if pressed for the first disable for three seconds 
     } 
    } 
} 

親切に助けてください!ブロックの場合には

+0

あなたがしようとしていますページ全体または特定の要素に対して無効にしますか? – vbguyny

答えて

1

e.target.disabled = true; 
window.setTimeout(function(){ 
    e.target.disabled = false; 
},3000); 
0

あなたはsetTimeoutを使用することができます。ドキュメントhereをご覧ください。

アピ: number setTimeout(function callback, integer milliseconds)

シンプルなjQueryの例:代わりに、あなたは自分のハンドラ内のイベントを無視することができますキーパッドを無効にする

setTimeout(function(){ 
    $(window).keypress(function(e){ 
     if (e.keyCode == 13) { 
      return false; 
     } 
    }) 
}, 3000); 
+1

これは3秒後にキーを無効にします。そして、それは無効にとどまるつもりです。 – vlaz

+0

期待通りに機能しない – Francis

+0

@Francis、これは "単純な"例です。あなたは 'setTimeout'について学ぶ必要があり、その下にコードを適用します。 "私は教えることができ、ガイドすることはできますが、仕事はしません"。 –

0

...

var isDisabled; 

function disableForThreeSeconds(e) { 
    if (e.keyCode == 13) { 
     if (!isDisabled) { 
      isDisabled = new Date(); 
     } else { 
     //if pressed for the first disable for three seconds 
      if (new Date() - isDisabled > 3 * 1000) 
       isDisabled = 0; 
     } 
    } 
} 
関連する問題