2011-04-20 89 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