我正在尝试将光标位置保存在我的 NicEdit 富文本编辑器中,以便在发布到服务器后我可以恢复用户正在工作的确切位置。
目前我正在尝试在客户端完成这一切,以便在尝试在帖子期间保存范围变量之前确保它可以正常工作。
<textarea id="editor" style="height:500px;width:500px;"></textarea>
<input type="button" value="Save Postion" onclick="SavePosition();return false;" />
<input type="button" value="Restore Postion" onclick="RestorePosition();return false;" />
<script type="text/javascript">
var editor;
$(function () {
editor = new nicEditor({ fullPanel: false });
editor.addInstance('editor');
});
var range = null;
var sel = null;
function RestorePosition() {
editor.nicInstances[0].selRng(range, sel);
$('.nicEdit-main').focus();
}
function SavePosition() {
range = editor.nicInstances[0].getRng();
sel = editor.nicInstances[0].getSel();
$('.nicEdit-main').focus();
}
</script>
如果用户突出显示一个单词,点击保存,点击其他地方然后点击恢复选择将被恢复。
但是,如果在按下 Save 时光标只是在那里闪烁,则按下 Restore 会将光标移动到开始处。