通常、ユーザーがWebページにアクセスし、キーボードのTabボタンを押すと、ページの先頭から選択項目が1つの要素から別の要素に移動します。
Webページがロードされたときに最初のテキスト領域に最初に焦点を合わせてキーボードのTabボタンを押すことにより、2つの特定のテキスト領域を切り替える解決策を探していますか?このTABキーを押すイベントでは、ページ上の他のすべての要素を無視する必要があります。
どうすればこれを達成できますか?
あなたの助けに感謝します!
=更新=
Firefox12.0で動作させることができました。IEとChromeが正しく動作しません。テキストエリアIDが#ICCIDと#MSISDNであるとすると、Jqueryは次のようになります。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$(document).ready(function() {
$("#ICCID").focus();
});
var $inp = $('.cls');
$inp.bind('keydown', function(e) {
var key = e.which;
if (key == 9) {
e.preventDefault();
var nxtIdx = $inp.index(this) + 1;
$(".cls:eq(" + nxtIdx + ")").focus();
//Simulate Enter after TAB
var textInput = $("#MSISDN").val();
var lines = textInput .split(/\r|\r\n|\n/);
if (lines > 1) {
$("#MSISDN").on("keypress", function(e) {
if (e.keyCode == 9) {
var input = $(this);
var inputVal = input.val();
setTimeout(function() {
input.val(inputVal.substring(0,inputVal.length) + "\n");
}, 1);
}
});
}
}
if (key == 9) {
e.preventDefault();
var nxtIdx = $inp.index(this) - 1;
$(".cls:eq(" + nxtIdx + ")").focus();
//Simulate Enter after TAB
$("#ICCID").on("keypress", function(e) {
if (e.keyCode == 9) {
var input = $(this);
var inputVal = input.val();
setTimeout(function() {
input.val(inputVal.substring(0,inputVal.length) + "\n");
}, 1);
}
});
}
});
});
</script>