Definir a posição do cursor de texto em uma área de texto
Estou trabalhando em um editor BBCode e aqui está o código:
var txtarea = document.getElementById("editor_area");
function boldText() {
var start = txtarea.selectionStart;
var end = txtarea.selectionEnd;
var sel = txtarea.value.substring(start, end);
var finText = txtarea.value.substring(0, start) + '[b]' + sel + '[/b]' + txtarea.value.substring(end);
txtarea.value = finText;
txtarea.focus();
}
Tudo está bem, exceto uma coisa que é a posição do cursor de texto. Quando clico no botão boldText, ele define a posição do cursor no final da área de texto !!
Na verdade, eu quero poder definir a posição do cursor em um determinado índice. Eu quero algo como isto:
txtarea.setFocusAt(20);