在AngularJs中获取Textarea光标位置

VSO*_*VSO 1 html javascript jquery selection angularjs

这个问题归结为需要<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单击文本区域以立即知道指令中发生了什么.

jbr*_*own 12

您正在寻找的语法是:

scope.testValue = textArea.prop("selectionStart");
Run Code Online (Sandbox Code Playgroud)

  • 很高兴我能帮助你. (2认同)