サーバーに投稿した後、ユーザーが作業していた正確な場所を復元できるように、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>
ユーザーが単語を強調表示して [保存] をクリックし、別の場所をクリックしてから [復元] をクリックすると、選択が復元されます。
ただし、[保存] を押したときにカーソルが点滅している場合は、[復元] を押すとカーソルが先頭に移動します。