在contenteditable上提供焦点(并恢复光标位置)

时间:2016-03-30 09:44:12

标签: javascript contenteditable rangy

我有一个功能,当用户在内容可编辑div中键入@ + min 3个字符时,会创建一个自动填充建议列表;

当用户点击列表中的某个项目时,我需要自动完成并将重点放回可编辑的内容;不幸的是,我无法恢复光标的位置:

    $suggestions.on('click', '.list-item', function(event) {
        var newTag = $(event.target).html();
        var saved = rangy.saveSelection();

        $field.html($field.html().replace(/(^|[^a-zA-Z0-9@#-])@([a-zA-Z0-9_]{3,})/ig, '$1<span class="mentionTag chip">' + newTag + '</span>'));
        closeSuggestions(currentWord);

        $field.focus();
        rangy.restoreSelection(saved);
    });

由于光标位于contenteditable的开头,因此上述功能无效; 谁能解释如何实现这个目标?

0 个答案:

没有答案