如何从textarea元素

时间:2018-01-05 15:57:34

标签: javascript html angular typescript select

我正在尝试使用javascript从textarea元素中选择一些文本。例如,我在textarea元素“今天是一周的第一天”中的这个文本,用户单击按钮选择工作“今天”,以便他们可以为任何文本更改它。

enter image description here

我知道通过执行element.select()我可以选择textarea的整个内容,是否有其他函数或代码可用于仅选择textarea中的工作或数字或字符?

2 个答案:

答案 0 :(得分:2)

您可以使用selectionStartselectionEnd点击此处的简单示例,它会根据您点击的位置选择文字



document.getElementById('text').addEventListener('click', function() {
    var length = this.value.length;
    this.setSelectionRange(this.selectionStart, length);
},
false);

<textarea  id="text"  value="" size="20" >EXAMPLE</textarea >
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以使用此选项在textarea中选择所需的文本。要使选择起作用,您必须首先将焦点设置在textarea上。

var $_ = function(selector){
  return document.querySelector(selector);
}

function selectText(str) {
  var txt = $_("#txt");
  var idx = txt.value.indexOf(str);
  txt.focus();
  txt.setSelectionRange(idx, idx + str.length);
}

$_("#btnSelect").addEventListener('click', function() {
  selectText($_("#selectWord").value);
});
<textarea name="" id="txt" cols="30" rows="10">Today is gonna be the day that they're gonna throw it back to you.</textarea>

<br><br>
<input type="text" id="selectWord" value="gonna" />
<button id="btnSelect">Select</button>