相关疑难解决方法(0)

在contentEditable <div>上设置光标位置

我正在使用一个明确的跨浏览器解决方案,当contentEditable ='on'<div>重新获得焦点时,将光标/插入位置设置为最后的已知位置.看来内容可编辑div的默认功能是每次单击它时将插入符/光标移动到div中文本的开头,这是不合需要的.

我相信当他们离开div的焦点时我必须在变量中存储当前光标位置,然后当他们再次聚焦时重新设置它,但是我无法将它组合在一起,或者找不到工作代码示例.

如果有人有任何想法,工作代码片段或样本我很乐意看到它们.

我还没有任何代码,但这里有我所拥有的:

<script type="text/javascript">
// jQuery
$(document).ready(function() {
   $('#area').focus(function() { .. }  // focus I would imagine I need.
}
</script>
<div id="area" contentEditable="true"></div>
Run Code Online (Sandbox Code Playgroud)

PS.我已经尝试过这个资源,但它似乎不适用于<div>.也许只适用于textarea(如何将光标移动到可信实体的末尾)

html javascript jquery contenteditable cursor-position

139
推荐指数
7
解决办法
12万
查看次数

在包含HTML内容的contentEditable区域中获取插入符号(光标)位置

我有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元素的内容开始算起)

任何人都可以提出解决方案吗?

javascript wysiwyg contenteditable getselection

57
推荐指数
2
解决办法
7万
查看次数

保存和恢复contentEditable div的插入位置

我有一个contentEditablediv,其中innerHTML的一个可以在编辑时通过AJAX更新.问题是,当你更改div的内容时,它会将光标移动到div的末尾(或根据浏览器失去焦点).什么是良好的跨浏览器解决方案,以便在更改innerHTML然后恢复之前存储插入位置?

javascript jquery contenteditable

13
推荐指数
3
解决办法
1万
查看次数