指定在Textarea中聚焦的位置

Ben*_*ock 2 javascript focus

我有一个textarea ...

<textarea>
Some writing here
*
Then some more on another line
</textarea>
Run Code Online (Sandbox Code Playgroud)

我想要做的是将用户聚焦在*所在的位置.这可能吗?

Jam*_*ore 5

使用以下函数在textarea中设置选择.

function setSelRange(inputEl, selStart, selEnd) { 
   if (inputEl.setSelectionRange) { 
     inputEl.focus(); 
     inputEl.setSelectionRange(selStart, selEnd); 
   } else if (inputEl.createTextRange) { 
     var range = inputEl.createTextRange(); 
     range.collapse(true); 
     range.moveEnd('character', selEnd); 
     range.moveStart('character', selStart); 
     range.select(); 
   } 
}
// From http://www.webmasterworld.com/forum91/4527.htm
Run Code Online (Sandbox Code Playgroud)

因此,在您的情况下,您可以搜索*角色的位置并在调用中使用该值,如下所示:

var pos = 17; // Set this to the position of the * character.
setSelRange(document.getElementById('textareaId'), pos, pos);
Run Code Online (Sandbox Code Playgroud)