我有一个功能,当用户在内容可编辑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的开头,因此上述功能无效; 谁能解释如何实现这个目标?