如何使用焦点设置Jquery的光标位置?

时间:2016-01-25 10:36:45

标签: javascript jquery

我的功能有问题。我用BBcode制作了一个文本编辑器。

它工作得很好,但光标总是回到textarea的末尾。

以下是它的工作原理;

var element = document.getElementById('textEdit');
var lastFocus;
$(document.body).on('click','.editBout', function(e) {   
    e.preventDefault();
    e.stopPropagation();
var style = ($(this).attr("data-style")); 
// Depending on the button I set the BBcode
    switch (style) {
        case 'bold':
            avS = "[b]";
            apS = "[/b]";
            break;
    }
    if (lastFocus) {
        setTimeout(function () { lastFocus.focus() }, 10);
        var textEdit = document.getElementById('textEdit');
        var befSel = textEdit.value.substr(0, textEdit.selectionStart);
        var aftSel = textEdit.value.substr(textEdit.selectionEnd, textEdit.length);
        var select = textEdit.value.substring(textEdit.selectionStart, textEdit.selectionEnd);
        textEdit.value = befSel + avS + select + apS + aftSel;
        textEdit = textEdit.value
        textEdit = BBcoder(textEdit);
        document.getElementById('editorPreview').innerHTML = textEdit;
    }
    return (false);
});

此处的最后一部分会触发预览事件

$(document.body).on('blur', '#textEdit', function() {
   lastFocus = this;
});

所以我希望它回到最后一个焦点,但是在我的选择中计算出的给定位置+添加了bbcode长度。

0 个答案:

没有答案