当按下向上箭头键时,将文本光标发送到文本框焦点的末尾
when up arrow key is pressed send text cursor to the end of the textbox focus
当前,当您在文本框中按向上箭头键时,光标会跳转到文本的开头。我想覆盖这个功能,并使它,当向上箭头键被按下,它是到文本的末尾。
这是我的代码:
$("#searchBox").bind("keydown", function (e) {
if (e.which === 38) {
searchBox.focus();
$current.removeClass("searchBoxResultItem-active");
searchBox.value = searchUserInput;
searchBox.setSelectionRange(searchBox.length, searchBox.length);
}
});
我被告知上面的文本可以工作,但我猜因为箭头键已经设置为将代码带到开始,所以它不起作用。
如何重写此功能?
您的代码中有undefined
变量。稍微简化一下你的代码,这是一个工作版本:
$("#searchBox").on("keydown", function (e) {
if (e.which === 38) {
e.preventDefault();
searchBox.setSelectionRange(searchBox.value.length, searchBox.value.length);
}
});
参见JSFiddle demo
将strLenght
乘以2以确保光标始终在末尾结束,Opera有时会将回车视为2个字符。
$("#searchBox").bind("keydown", function (e) {
if (e.which === 38) {
e.preventDefault();
$current.removeClass("searchBoxResultItem-active");
// Multiply by 2 to ensure the cursor always ends up at the end;
// Opera sometimes sees a carriage return as 2 characters.
var strLength = $(this).val().length * 2;
this.setSelectionRange(strLength, strLength);
}
});
参见JSFiddle Demo
相关文章:
- 将文本插入光标所在的文本区域
- 无法在Chrome控制台中使用javascript将焦点和光标设置为输入文本
- jQuery/Javascript>on单击将文本放置在最后一个已知的光标位置
- 当用户单击按钮(在光标位置)时,在输入字段中添加一个文本字符串
- 如何在按键事件发生后获取文本光标的位置
- 同时在两个文本框上显示光标
- 我可以通过javascript在鼠标光标旁边动态添加文本吗?
- 将光标放在 javascript 文本框的末尾
- 如何使文本字段中的文本光标以几像素开始
- 在 HTML 中模拟闪烁的文本光标
- 设置文本光标在文本区域中的位置
- 如何获取文本光标在屏幕上的像素位置
- 用自定义字符替换闪烁的文本光标
- 如何覆盖活动的文本光标(Safari)
- 删除要使用Jquery输入的文本光标
- 输入文本字段文本光标未出现
- 当按下向上箭头键时,将文本光标发送到文本框焦点的末尾
- 在HTML文档上显示闪烁文本光标
- 可以知道文本光标在输入字段中的位置
- Canvas onmousedown导致文本光标,无论我使用什么CSS