Javascript 获取textarea字段中的位置

Javascript 获取textarea字段中的位置,javascript,Javascript,为了处理我正在构建的自定义wysiwig编辑器,我正在尝试获取文本区域内的光标位置 除了一件事,它工作正常。当没有选择文本时,现在我在当前输入的末尾添加BBCODE。 我更愿意在当前光标位置插入BBCODE 这就是我现在拥有的 function loadEditor(){ var input = document.getElementById('editor-content'); var btnBold = document.getElementById('bold');

为了处理我正在构建的自定义wysiwig编辑器,我正在尝试获取文本区域内的光标位置

除了一件事,它工作正常。当没有选择文本时,现在我在当前输入的末尾添加BBCODE。 我更愿意在当前光标位置插入BBCODE

这就是我现在拥有的

function loadEditor(){
    var input = document.getElementById('editor-content');
    var btnBold = document.getElementById('bold');
    var blur = null;

    var clearSelect = function() {
      input.setSelectionRange(0, 0);
    };

    input.addEventListener('blur', function() {
        blur = setTimeout(clearSelect, 0);
      });

    btnBold.addEventListener('focus', function() {
      if (blur !== null) {
        clearTimeout(blur);
        blur = null;
      }
    });

    btnBold.addEventListener('click', function() {
        var openCode = "[b]";
        var closeCode = "[/b]";
        var emptyValue = openCode + closeCode;
        var fullText = input.value;
        var selected = input.value.substring(input.selectionStart, input.selectionEnd);
        if(selected == ""){
            input.value = input.value + emptyValue
        }else{
            input.value = input.value.replace(selected,openCode+selected+closeCode);
        }
        clearSelect();
    });
}

感谢您的帮助

查看询问的内容-
selectionStart
selectionEnd
将为您提供当前光标位置,如果未选择任何文本,两者都将相同谢谢这是我要找的