[解決済み] テキストボックスのTABキーをキャプチャする【非公開
2022-11-22 23:43:56
質問
を使用できるようにしたい。 タブ キーを使用して、4 つのスペースをタブで移動できるようにしたいです。現在の方法では、Tab キーはカーソルを次の入力にジャンプさせます。
UI にバブルアップする前に、テキスト ボックス内の Tab キーをキャプチャする JavaScript はありますか?
いくつかのブラウザ (例: FireFox) がこれを許可しないかもしれないことは理解しています。次のようなカスタム キー コンボはどうでしょうか。 シフト + タブ または Ctrl + Q ?
どのように解決するのですか?
をキャプチャしても
keydown
/
keyup
イベントを使用する場合、タブキーが発生する唯一のイベントであるため、デフォルトの動作であるタブ順序の次のアイテムへの移動が発生しないようにする方法がまだ必要です。
Firefox では
preventDefault()
メソッドをイベントハンドラに渡されたイベントオブジェクトに対して呼び出すことができます。IE では、イベントハンドルから false を返す必要があります。JQuery ライブラリでは
preventDefault
メソッドを提供しており、これは IE と FF で動作します。
<body>
<input type="text" id="myInput">
<script type="text/javascript">
var myInput = document.getElementById("myInput");
if(myInput.addEventListener ) {
myInput.addEventListener('keydown',this.keyHandler,false);
} else if(myInput.attachEvent ) {
myInput.attachEvent('onkeydown',this.keyHandler); /* damn IE hack */
}
function keyHandler(e) {
var TABKEY = 9;
if(e.keyCode == TABKEY) {
this.value += " ";
if(e.preventDefault) {
e.preventDefault();
}
return false;
}
}
</script>
</body>
関連
-
[解決済み] JavaScriptのオブジェクトにキーが存在するかどうかをチェックする?
-
[解決済み] URLを新しいタブで開く(新しいウィンドウではない)
-
[解決済み] jQueryを使ってドロップダウンリスト(セレクトボックス)から選択されたテキストを取得する
-
[解決済み] JavaScriptのオブジェクトにキーと値のペアを追加するにはどうすればよいですか?
-
[解決済み] テキストボックスのEnterキーで、JavaScriptでボタンクリックをトリガーする
-
[解決済み] イベントバブリング、キャプチャーとは何ですか?
-
[解決済み] Trelloはどのようにユーザーのクリップボードにアクセスするのですか?
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] querySelectorAllがない場合、ライブラリを使用せずに属性で要素を取得する?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] 文字列がすべて同じ部分文字列で構成されているかどうかを調べるにはどうすればよいですか?
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
-
[解決済み] bootstrap のポップオーバーがすべての要素の上に表示されない
-
[解決済み] WebStormで未解決の変数が大量にある場合の警告に対処する方法は?
-
[解決済み] 兄弟ノードを選択する方法はありますか?
-
[解決済み] Reactコンポーネントでthis.setStateを複数回使用するとどうなりますか?
-
[解決済み] querySelectorAllがない場合、ライブラリを使用せずに属性で要素を取得する?
-
[解決済み] javascriptのキャンバスで画像をリサイズする (スムーズ)
-
[解決済み] Chrome拡張機能:popup.htmlを強制終了させる