Я пытаюсь создать форму, которая работает аналогично странице поиска Google, а также Gmail и нескольким другим страницам (включая эту страницу - см. «Теги» на странице «Задать вопрос»).Когда текст вводится, появляется список параметров, и пользователь может использовать стрелки вверх и вниз, чтобы выбрать нужный вариант.
Проблема, с которой я сталкиваюсь, состоит в том, что стрелка вверх помещает курсор / каретку в положение 0 поля, а вниз - в конец.Есть ли простой способ удержать его от перехода в начало / конец, или мне нужно найти позицию каретки до запуска моей функции и переместить ее в это место после?
Это началофункция, которая запускается, когда текст вводится в элемент ввода (onkeyup).
var keycode = checkKeycode (event); // returns the keycode of the key pressed.
if (keycode == 38) { // up arrow
var selection = $(".optionsSelected").attr("id");
var selId = parseInt(selection.replace('briefOption', ''));
if (selId != 0) {
$(".optionsSelected").removeClass("optionsSelected");
var newSelId = selId - 1;
$("#briefOption"+newSelId).addClass("optionsSelected");
}
}
else if (keycode == 40) { // down arrow
var selection = $(".optionsSelected").attr("id");
var selId = parseInt(selection.replace('briefOption', ''));
if (selId != numAvEmps && numAvEmps != 0) {
$(".optionsSelected").removeClass("optionsSelected");
var newSelId = selId + 1;
$("#briefOption"+newSelId).addClass("optionsSelected");
}
}
else if (keycode == 27) { // Escape
$("#docDropDown").css("display","none");
}
else if (keycode == 9 || keycode == 13) { //tab or enter
/* Fill form */
}
Дайте мне знать, если какой-либо другой код будет полезен.Спасибо за помощь.