デスクトップブラウザで簡単です。私はちょうどdocument
またはwindow
ののために耳を傾け、答えhereとhereと同様に、preventDefault
を呼び出します。Android用Chromeですべてのキーボードイベントを無視するにはどうすればよいですか?
私は通常、このようなものを使用するので、すべてのキーボード入力を無視するようなものだ:
window.addEventListener('keydown', function(e){
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
}, true);
しかし、彼らは私のAndroidタブレットでは動作しません。 (Androidのためクロム63.0.3239.83とFirefox 57.0.1でテスト)
ことはここでは一般的なシナリオです:私は、現在の能動素子として注目<input>
を持っている、そして私は凍結するために実行するためにいくつかのJavaScriptを必要としますすべてのユーザー入力は無視されます。
私はこの問題で多くの時間を浪費していましたが、まだAndroidタブレットの回避策を見つけることができません。
他の要素にフォーカスを変更する、または要素のreadOnly
をtrue
に設定するなど、いくつかの方法が考えられました。しかし、警告があります。 focus()
を呼び出すと、以前にフォーカスされた要素のonblur
がトリガーされます。 readOnly
を設定すると、(その<input>
ため、例えば任意のやkeyup
ハンドラを)発射からフォーカスのある要素のイベントリスナーを防ぎ、そして時にはインクルードキーは、ユーザーがページ上の次の入力フィールドにジャンプすることを可能にするキーになり入りません。
望ましくない副作用なしにChrome for Androidの上のすべてのキーボード入力を無視する方法はありますか?最後に