【问题标题】:how to add text in textarea cursor position by angularjs如何通过angularjs在textarea光标位置添加文本
【发布时间】:2017-07-22 06:39:29
【问题描述】:

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

使用一些自定义名称字段(如 {userName} #userName# 等)编写短信。这些是 onclick 事件,当用户点击时,应在 textarea 框中的光标位置添加尊重的文本。

【问题讨论】:

  • 将自定义文本保存在变量中,并将ng-model="myText"放到文本框,onclick事件绑定一个函数,在函数中,$scope.myText = $scope.customMessage
  • 我仍然面临同样的问题,我无法将文本放在光标位置

标签: angularjs text add appendtext


【解决方案1】:

检查此链接并在您的应用中使用该指令 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();
    }

  });
 }
}
}])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多