2011-04-20 90 views
2

我正在尝试更新<div contentEditable=true> programmaticaly(javascript)的innerHTMLInternet Explorer div contentEditable防止DOM元素选择onclick

使用Internet Explorer 8 <或怪癖模式,如果HTML包含<span>标签的一个不可不点击设置插入符的位置,或从焦炭中导航使用键盘字符。 取而代之的是<span>被选中(onclick)并且可以移动/调整大小,或者脱字符跳转到<span>(键盘箭头)的开头/结尾。

截图:

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

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

回答

2

这发生在has layout的任何元素上。确保没有任何触发布局的CSS属性应用于您的跨度,问题将消失。

+0

感谢Tim,确实有一些'style =“zoom:1”'这似乎触发了hasLayout属性。 问题是,我没有设置这_zoom_风格跨越我自己... – 2011-04-20 09:12:01

+0

@Jerome:恐怕你有点卡住了:然后:hasLayout'已被触发元素,我不相信有一种方法可以将其删除。抱歉。 – 2011-04-20 09:21:43

+0

为了澄清,我自己创建了'innerHTML',并且不设置'zoom'样式,它似乎被IE自动添加。 之后我试图将它设置为'normal',它解决了'hasLayout'问题,但似乎触发了其他问题(我的函数处理脱字符位置不再正常工作) – 2011-04-20 09:34:09