0

我有一个主页,它有 ckeditor 来执行一些文本编辑。ckeditor 包含以下元素:

<address>Address<address><pincode>123456</pincode>

我尝试将焦点元素作为

 editorinstance1.focus();

var temp =editorinstance1.getSelection().getStartElement();

或者

var temp =editorinstance1.document.getSelection().getStartElement();

当我在 pincode 元素的第一个字符之前单击时

实际上我需要光标位置

<pincode>[cursor here]123456</pincode>

代码工作正常,除了 chrome

chrome 返回地址元素。

我如何获得正确的元素。只是我用 HTML 检查了同样的问题。(http://jsfiddle.net/z5ABt/2/

我还在code.google.com/p/chromium/issues/detail?id=337757中报告了

4

2 回答 2

1

这似乎是 Chrome 中的一个错误,当您单击第一个字符时,它会聚焦错误的编辑区域。当您不使用 nestedcontenteditable时,它似乎工作正常。

<panel>
    <div id="address" contenteditable="true">Address</div>
    <span contenteditable="true">, </span>
    <div contenteditable="true" id="pin">123456</div>
</panel>

单击1将聚焦正确的编辑区域。

我在他们的错误跟踪器中找不到关于这个特定问题的票,但他们确实有很多关于嵌套的问题contenteditable。您可能想要进行错误报告

于 2013-10-10T08:27:45.753 回答
0

这是 chrome 中的一个错误

你只能像下面这样使用。

<panel  contenteditable="true">
    <div id="address" contenteditable="true">Address</div>
    <span contenteditable="true">, </span>
    <span contenteditable="false"></span>
    <div contenteditable="true" id="pin">123456</div>
</panel>
于 2013-10-15T12:41:49.887 回答