0

我想要将文本添加到 textarea angularjs 代码的示例代码,任何人都可以帮忙。

编写带有一些自定义名称字段的 SMS,例如 {userName} #userName# 等。这些是 onclick 事件,当用户单击时,应在 textarea 框中的光标位置添加受尊重的文本。

4

1 回答 1

0

检查此链接并在您的应用程序中使用该指令 http://plnkr.co/edit/Xx1SHwQI2t6ji31COneO?p=preview

app.directive('myText', ['$rootScope', function($rootScope) {
 return {
 link: function(scope, element, attrs) {
  $rootScope.$on('add', function(e, val) {
    var domElement = element[0];

    if (document.selection) {
      domElement.focus();
      var sel = document.selection.createRange();
      sel.text = val;
      domElement.focus();
    } else if (domElement.selectionStart || domElement.selectionStart === 0)           {
      var startPos = domElement.selectionStart;
      var endPos = domElement.selectionEnd;
      var scrollTop = domElement.scrollTop;
      domElement.value = domElement.value.substring(0, startPos) + val +        domElement.value.substring(endPos, domElement.value.length);
      domElement.focus();
      domElement.selectionStart = startPos + val.length;
      domElement.selectionEnd = startPos + val.length;
      domElement.scrollTop = scrollTop;
    } else {
      domElement.value += val;
      domElement.focus();
    }

  });
 }
}
}])
于 2017-09-11T12:02:25.253 回答