有人知道如何将文本框中的键盘插入符移动到特定位置吗?
例如,如果一个文本框(例如输入元素,而不是文本区域)中有50个字符,并且我想在插入字符20之前放置插入符号,那么我该如何处理呢?
这与这个问题不同:jQuery在文本区域设置光标位置,这需要jQuery.
这个问题归结为需要<textarea>在指令中获取元素的光标位置.简而言之,我需要在此工作.
var position = element.selectionStart;
Run Code Online (Sandbox Code Playgroud)
关于主题至少有5个答案使用各种方法,例如这个用于角度,这个用于一些jQuery扩展,在这里输入链接描述.
我已经阅读了所有内容,并决定尝试获取选择开始对象.这是我的PLNKR.我不知道我做错了什么.注意 - 背景改变的东西是看我是否选择了正确的元素,我就是这样.这里编辑是失败的代码片段:
link: function(scope, elem, attrs) {
var textArea = elem.find("#itemTextArea");
textArea.bind('click', function() {
//This gets to undefined, even though selectionStart is a property of textarea*
scope.testValue = elem.selectionStart;
});
},
Run Code Online (Sandbox Code Playgroud)
*https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Property/selectionStart
PS单击文本区域以立即知道指令中发生了什么.