javascript - 将文本添加到输入类型电子邮件 Angular jquery

标签 javascript jquery angularjs selection-api

我尝试将文本添加到输入类型电子邮件中,但没有成功 这就是我正在尝试的方法

 $scope.lastFocused;
  angular.element("input[type='text'], input[type='url'], input[type='email'], input[type='password'], input[type='search'], input[type='tel'], textarea").focus(function() {

    $scope.lastFocused = document.activeElement;
  });

  $scope.insertText = function(text) {
    var input = $scope.lastFocused;
    console.log(input);
    if (input == undefined) { return; }
    var scrollPos = input.scrollTop;
    var pos = input.selectionStart;
    var front = (input.value).substring(0, pos);  
    var back = (input.value).substring(pos, input.value.length); 
    input.value = front+text+back;
    pos = pos + text.length;

    input.scrollTop = scrollPos;
    console.log(angular.element(input).val());
    angular.element(input).trigger('input');

 };

我认为问题与以下事实有关:我试图触发文本类型的输入,而电子邮件不支持 input.selectionStart;。我收到错误

Failed to read the 'selectionStart' property from 'HTMLInputElement': The input element's type ('email') does not support selection.

由于某种原因,电子邮件将不接受值。

我只使用 Chrome。 任何解决方法将不胜感激

最佳答案

以下是另一篇与您问题类型完全相同的帖子的答案的链接:

https://stackoverflow.com/a/21959157/6032583

看来您需要找到另一种方法,因为电子邮件类型的输入不支持“selectionStart”。

关于javascript - 将文本添加到输入类型电子邮件 Angular jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39152788/

相关文章:

javascript - 如何将特定的叠加图像置于前台

jquery - 放置一个 div,使其看起来位于 mainwrapper (980px) 之外

javascript - 识别 Javascript 中的主题标签

javascript - JQuery 可排序包含不起作用

javascript string.replace 否定列表

javascript - Javascript 是创建流体布局的有效方法吗?

javascript - 如何在 Flot 图表中居中条形图?

javascript - 有什么方法可以让javascript循环休眠吗?

jquery - AJAX导致IIS死掉?

angularjs - Underscorejs _.where 带通配符