我正在尝试使用javascript从textarea元素中选择一些文本。例如,我在textarea元素“今天是一周的第一天”中的这个文本,用户单击按钮选择工作“今天”,以便他们可以为任何文本更改它。
我知道通过执行element.select()我可以选择textarea的整个内容,是否有其他函数或代码可用于仅选择textarea中的工作或数字或字符?
答案 0 :(得分:2)
您可以使用selectionStart
和selectionEnd
点击此处的简单示例,它会根据您点击的位置选择文字
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;
答案 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>