Я пытаюсь достичь чего-то, что я не уверен, что когда-либо будет работать. Я хочу, чтобы изменить фокус ячейки, когда пользователь нажимает любую буквенную клавишу. Я также хочу, чтобы письмо появилось в исходной ячейке, но не в ячейке назначения. То, что я пытался сделать, это:change cell focus on keypress
Пользователь отмечает ячейку, щелкнув по нему
table.onclick = function tableMouseListener(event) {
markedCell = event.target;
markedCellRow = markedCell.parentNode.rowIndex;
markedCellCol = markedCell.cellIndex;
};
Пользователь пишет А в отмеченной ячейке
$(document).keypress(function(e){
if (e.keyCode == 65) {
markedCell.appendChild(document.createTextNode(String.fromCharCode(e.keyCode)));
jumpToNextCell();
}
});
После А было напечатайте, перейдите к следующей ячейке и сфокусируйте ее
function jumpToNextCell() {
table = document.getElementById('myTable');
markedCellCol++;
markedCell = table.rows[markedCellRow].cells[markedCellCol];
markedCell.appendChild(document.createTextNode('\u0020'));
markedCell.focus();
}
Проблема с логикой выше заключается в том, что как исходная, так и целевая ячейка теперь имеют букву A.
Есть ли способ предотвратить добавление буквы в ячейку назначения?
Заранее благодарен!
EDIT
Клетка источника является один я отмечаю и ячейка назначения является один я прыгаю.
Можете ли вы уточнить, что такое ** источник ** и ** целевые ** ячейки? –
Что вы ("* [MCVE] *") HTML и JavaScript? В противном случае вы получите много догадок и, возможно, нулевые полезные, понятные или напрямую релевантные ответы. Кроме того, * без вашего соответствующего кода * этот вопрос не по теме, поскольку он оба * не содержит ваш код *, не совсем понятно, что вы спрашиваете, а также слишком широк - поскольку вы действительно ожидаете, что мы оба воспроизведем ваши существующие усилия и реализовать решение вашей проблемы. –
@RichardSilvertass Проверьте мой ответ и примите его, если он вам поможет. –