キーボード操作(Tabキー)によりフォーカスを他コントロールに移動させる方法

文書番号 : 38170     文書種別 : 使用方法     登録日 : 2015/03/02     最終更新日 : 2015/03/02
文書を印刷する
対象製品
SPREAD for ASP.NET 8.0J
詳細
クライアント側のスクリプトでTabキー押下を検出し、明示的に目的のコントロールにフォーカスを移動します。

【JavaScript サンプルコード】
<script type="text/javascript">
window.onload = init;

function init() {
  var spread = document.getElementById("FpSpread1");
  if (spread.addEventListener) {
    spread.addEventListener("keydown", kd, false);
  } else {
    spread.onkeydown = kd;
  }
}

function kd(e) {
  if (e.keyCode == 9) {
    // 最後のセルでTabキーが押下された場合
    var spread = document.getElementById("FpSpread1");
    var row = spread.GetActiveRow();
    var col = spread.GetActiveCol();
    var lastRow = spread.GetRowCount() - 1;
    var lastCol = spread.GetColCount() - 1;
    if (row == lastRow && col == lastCol) {
      if (event.preventDefault) {
        event.preventDefault();
        event.stopPropagation();
      }
      else {
        event.keyCode = 0;
        event.returnValue = false;
        event.cancelBubble = true;
      }

      // TextBox1へフォーカスを移動
      var text1 = document.getElementById("TextBox1");
      text1.focus();
    }
  }
}