如何知道插入符号是否位于文本区域的最后一个字符
How to know if caret resides in the last character in textarea?
我有一个类似excel的可编辑表,我正在进行切换到下一个单元格的keydown处理。
假设我有以下单元格,其中插入符号高亮显示:
This is a text|
在上面的例子中,插入符号位于最后一个字符,所以如果用户按下键盘上的右键,我需要将单元格编辑器切换到下一个单元格。
我的问题是,如何知道插入符号位于keydown事件处理程序中文本区域的最后一个字符?
由于您总是要检查最后一个字符,因此可以在每个keydown
上获取textarea
value
的length
属性,并将length
与文本区域的selectionEnd
属性进行比较:
selectionEnd
-指定或返回选定当前元素中的文本。
示例:
document.getElementById("textAreaIdHere").onkeydown = function(){
// Get length of textarea value
var len = this.value.length;
// If character entered is at the end of the textarea (therefore cursor)
if(this.selectionEnd === len) {
// Is at the end
}
}
jsFiddle此处
selectionEnd
仅在IE9+之后可用。对于在较旧的浏览器中实现此功能,此填充程序可能有用。
相关文章:
- onkeyup无法动态创建多个文本区域
- 具有所有样式的文本正在复制到可编辑文本区域
- 在文本区域POST后解码JSON
- 在文本区域中使用jQuery.text()保持换行符
- ng在下拉列表和文本区域提交
- 将文本插入光标所在的文本区域
- 离开页面导航后保留文本区域内容
- Javascript-在文本区域中断,但不在段落中中断
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 测试文本区域中的特定文本格式
- 文本编辑后,append函数不适用于文本区域
- 如何在ReactJs中链接下拉列表和文本区域
- I'我试图在文本区域中进行特定的输入,调用特定的javascript函数,但没有成功;不起作用
- 使用JSON文件中的变量(字符串)填充文本区域
- JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 如何为动态创建的文本区域中输入的值更新ng模型
- 延迟高亮显示文本区域中的文本
- 将字母添加到文本区域的末尾
- TinyMCE在新添加的文本区域