我有contentEditable元素(可以是p,div,...),我想在其中获得插入符号(光标)的位置。我通常可以通过以下代码来实现:
var position = window.getSelection().getRangeAt(0).startOffset;
当元素仅包含文本时,这可以正常工作。但是,当元素包含某些HTML格式时,返回的位置将相对于所包含HTML元素内的插入符号位置。
假设contentEditable元素的内容是这样的:
AB<b>CD</b>EF
如果插入符在inside <b></b>,比如说在C和D之间,则上面代码返回的位置是1而不是3(从contentEditable元素内容的开头算起)
有人可以提出解决方案吗?
湖上湖
相关分类