【问题标题】:CKEDITOR selection.getStartElement() give wrong element in chromeCKEDITOR selection.getStartElement() 在 chrome 中给出错误的元素
【发布时间】:2013-10-04 05:13:23
【问题描述】:

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

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

我尝试将焦点元素设为

 editorinstance1.focus();

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

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

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

其实我需要像这样的光标位置

&lt;pincode&gt;[cursor here]123456&lt;/pincode&gt;

除 chrome 外代码工作正常

chrome 返回地址元素。

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

我也在code.google.com/p/chromium/issues/detail?id=337757举报了

【问题讨论】:

    标签: javascript jquery asp.net google-chrome ckeditor


    【解决方案1】:

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

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

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

    我在他们的错误跟踪器中找不到关于此特定问题的票证,但他们确实有许多关于嵌套 contenteditable 的问题。您可能想创建一个bug report

    【讨论】:

    • 我应该使用嵌套的 contenteditable.bug 报告发布链接
    【解决方案2】:

    这是 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-11
      • 2012-11-25
      • 1970-01-01
      • 2014-08-04
      • 1970-01-01
      • 2017-03-05
      • 2011-06-16
      相关资源
      最近更新 更多