0

私たちのイントラネット サイトでは、ブラウザーの上部の固定位置にあるブートストラップ ナビゲーション バーを使用しています。この特定のページでは、入力フィールドの 2 つの列を水平方向にタブで移動する必要があります。

クロム

ただし、Chrome では、ユーザーが 1 つの列の下部から次の列の上部にタブ移動すると、ブラウザーはスクロール バーを一番上に移動することでユーザーに対応し、ユーザーは現在どのフィールドにフォーカスがあるかを確認できます。 . ここに私が何を意味するかを示すスクリーンショットがあります:

ここに画像の説明を入力

インターネットエクスプローラ

ただし、IE (バージョン 8、9、および 10) では、入力フィールドがブラウザーの一番上に移動し、次のようにナビゲーション バーの後ろに隠れてしまいます。

ここに画像の説明を入力

フォーカスが 2 列目の一番上の入力フィールドに設定されているときに、IE スクロール バーの位置を文法的に調整する方法はありますか?

4

1 に答える 1

0

この問題を引き起こす各入力にクラスfirst-inputを適用する場合は、この JS/jQuery コードが役立つ場合があります。

$(window).keyup(function(event) {              // Catch all keyboard events
  if (event.keyCode == 9) {                    // We only care about the TAB Key
    var $activeEl = $(document.activeElement); // Get the currently focused element
    if ($activeEl.hasClass('first-input')) {   // If the element is a first-input...
      console.log("We hit a first-input, adjust scroll.");
      $(window).scrollTop($(window).scrollTop() - 50);     // Adjust scroll
    }                                                      // You can increase the number
  }
});

(ハードコードされたクラス名を使用する以外に) 最初の入力かどうかを確認する方法はおそらくありますが、それが最も早く思い浮かんだ方法でした。

于 2013-06-18T21:25:20.393 に答える