这个问题归结为需要在指令中获取<textarea>
元素的光标位置。简而言之,我需要在此工作。
var position = element.selectionStart;
使用各种方法对该主题至少有5个答案,例如this one for angular,this one for some jQuery extension,enter link description here。
我已经阅读了所有内容,并决定尝试获取选择开始对象。这是我的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;
});
},
* https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Property/selectionStart
P.S。单击文本区域可立即知道指令中发生了什么。
答案 0 :(得分:11)
您正在寻找的语法是:
scope.testValue = textArea.prop("selectionStart");
答案 1 :(得分:2)
这似乎也有效
scope.testValue = textArea [0] .selectionStart;