5 行 5 列の HTML テーブルがあります。ユーザーがデータの入力を開始し、あるセルから別のセルに移動したい場合、タブをクリックするとカーソルが水平に移動します。
水平ではなく、垂直に移動したい。以下の画像のように。基本的な OS をオーバーライドしたいので、これは非常にトリッキーですか? ブラウザ機能。
5 行 5 列の HTML テーブルがあります。ユーザーがデータの入力を開始し、あるセルから別のセルに移動したい場合、タブをクリックするとカーソルが水平に移動します。
水平ではなく、垂直に移動したい。以下の画像のように。基本的な OS をオーバーライドしたいので、これは非常にトリッキーですか? ブラウザ機能。
グローバル属性tabindex
:
content 属性を使用すると、
tabindex
作成者は、要素がフォーカス可能であると想定されるかどうか、シーケンシャル フォーカス ナビゲーションを使用して到達可能であると想定されるかどうか、シーケンシャル フォーカス ナビゲーションを目的とした要素の相対的な順序を制御できます。
値は整数でなければなりません (0 より大きい値が必要です。詳細については、リンクされた仕様を参照してください)。
これを行う 1 つの方法は、JavaScript の onkeypress イベントを使用して、次のセルにフォーカスを与えることです。onkeypress="if(event.keycode == 8) {document.getElementById('NEXT CELL DOWN').focus()"}
この例では、8 がタブのキーコードです。NEXT CELL DOWN は、セルごとにハードコーディングするか、現在のセル ID に基づくアルゴリズムを使用して次のセル ID に移動することができます。たとえば、セル 1 でタブが押された場合、次のセルは cell1++ になる可能性があります。それは理にかなっていますか?