キーボード操作(Tabキー)によりフォーカスを他コントロールに移動させる方法
対象製品
SPREAD for ASP.NET 8.0J
詳細
クライアント側のスクリプトでTabキー押下を検出し、明示的に目的のコントロールにフォーカスを移動します。
【JavaScript サンプルコード】
【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();
}
}
}
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();
}
}
}