私は完全にjavascriptで作成したテーブルを持っていますが、Jqueryコードでは使いたくありません:/私が手動で作成したテーブル(HTMLで) 。下のフィドルを見てください。JqueryがJavaScriptで作成されたテーブルで機能していない
FYIこのjqueryのコードは単に入力(テーブルセル)間のナビゲーションのために矢印キーを使用するユーザーをALOWすべき
ここでは、私は頭の中で私のスクリプトを読み込むjsFiddle
ことです:
<head>
<meta charset="UTF-8">
<title>My Page</title>
<link rel="stylesheet" type="text/css" href="css/stylesheet.css">
<script type='text/javascript' src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/js.js"></script>
</head>
ここに表が作成されます(本文内):
<div id="myTable">
</div>
<script type="text/javascript">
createTable();
addPerson(1);
</script>
これは私のjQueryのです:
$(document).ready(function() {
$('input').keydown(function(e) {
if (e.keyCode == 40 || e.keyCode == 13) {
var thisClass = $(this).parent().attr('class');
$(this).parent().parent().next('tr').children('.' + thisClass).children().focus();
}
});
$('input').keydown(function(e) {
if (e.keyCode == 39) {
$(this).parent().next('td').children('input').focus();
}
});
$('input').keydown(function(e) {
if (e.keyCode == 38) {
var thisClass = $(this).parent().attr('class');
$(this).parent().parent().prev('tr').children('.' + thisClass).children().focus();
}
});
$('input').keydown(function(e) {
if (e.keyCode == 37) {
$(this).parent().prev('td').children('input').focus();
}
});
});
なぜ多くのリスナーを使用しますか? 1つだけを使用してください。 –
ありがとうございます。私は悪いプログラマーであるので、私はこの多くのリスナーを使用します;)あまりにもありがとう、私はそれを修正する方法を学ぶときに:) – Hovadko
更新された答えを見てください。 –