次の機能を実現しようとしています。
<div id="editor" contenteditable="true">
I am some text.
</div>
$('#editor').replaceHtmlAt(start, end, string);
使用事例:
ユーザーは
@
内部を入力します#editor
keyup
イベントピックアップ@
位置<プレ>
$('#editor').replaceHtmlAt(position of @, position of @ + 1, "<div>Hello</div>");
これは可能ですか?
編集
これを行うことで動作するようになりました
$(this).slice(pos-1).html('<span id="mention'+pos+'">@</span>');
しかし、私は別の問題に遭遇しました。Chrome では、#editor 内のキャレットの位置が奥まで移動します... span タグ内の '@' の後のキャレットの位置を復元するにはどうすればよいですか?