【问题标题】:Internet explorer div contentEditable prevent DOM element selection onclickInternet explorer div contentEditable 防止 DOM 元素选择 onclick
【发布时间】:2011-04-20 08:41:38
【问题描述】:

我正在尝试以编程方式 (javascript) 更新 <div contentEditable=true>innerHTML

如果 HTML 包含 &lt;span&gt; 标记,则使用 Internet Explorer <span> 被选中(单击)并且可以移动/调整大小,或者插入符号跳转到 &lt;span&gt; 的开头/结尾(键盘箭头)。

截图:

http://i54.tinypic.com/343p75y.png

你知道如何防止这种选择吗? 请注意,使用标准模式下的 Internet Explorer 8(或任何其他浏览器)我没有这种行为。

【问题讨论】:

    标签: javascript internet-explorer selection contenteditable


    【解决方案1】:

    has layout 的任何元素都会发生这种情况。确保没有任何触发布局的 CSS 属性应用于您的 span,问题就会消失。

    【讨论】:

    • 谢谢蒂姆,确实有一些style="zoom:1" 似乎触发了 hasLayout 属性。问题是我自己没有在跨度上设置这种 zoom 样式...
    • @Jerome:恐怕你有点卡住了:一旦在一个元素上触发了hasLayout,我不相信有办法删除它。对不起。
    • 澄清一下,我自己创建了innerHTML,并没有设置zoomstyle,它似乎是由IE自动添加的。之后我尝试将其设置为normal,它解决了hasLayout 问题,但似乎引发了其他问题(我处理插入符号位置的函数不再正常工作)
    • @Jerome:很有趣。我从未听说过 IE 会自动添加 zoom 属性。你有我能看到的一些代码或测试页吗?您是否考虑过使用 DOM 方法(appendChild() 等)而不是 innerHTML
    • 再一次,蒂姆拯救了一天,谢谢。 “min-height:” 对我造成了这个问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多