我有contentEditable元素(可以是p,div,...),我想在其中得到插入符号(光标).我通常可以用这段代码实现它:
var position = window.getSelection().getRangeAt(0).startOffset;
Run Code Online (Sandbox Code Playgroud)
这个工作正常,而元素只包含文本.但是当元素包含一些HTML格式时,返回的位置相对于包含的HTML元素中的插入位置.
我们假设contentEditable元素的内容是这样的:
AB<b>CD</b>EF
Run Code Online (Sandbox Code Playgroud)
如果插入符号在内部<b></b>,让我们说在C和D之间,上面代码的返回位置是1而不是3(从contentEditable元素的内容开始算起)
任何人都可以提出解决方案吗?
我正在将一个元素插入到contentEditable div中,但浏览器会在插入的元素之前设置光标的位置.是否可以在插入的元素后面设置光标,以便用户不必重新调整光标位置就可以输入?
我是javascript的新手,试图执行:
document.selection.createRange();
Run Code Online (Sandbox Code Playgroud)
但document.selection总是回来 undefined.
我正在使用最新版本的chrome.
我究竟做错了什么?
谢谢!