我正在開發一個類似於Web應用程序的富文本編輯器,基本上是一個用JavaScript編寫的XML編輯器。使用javascript擴展DOM範圍以覆蓋部分選定的節點
我的javascript代碼需要從contentEditable div容器中包裝選定的節點。 我正在使用MDC中描述的方法。但因爲我需要到div容器的內容同步到我的XML DOM我想避免在w3c ranges描述部分選擇:
<BODY><H1>Title</H1><P>Blah xyz.</P></BODY
............^----------------^............
這裏面選擇H1開始,內部P結束,我希望它完全包含H1,P。
是否有一種簡單的方法可以將選擇擴展到完全覆蓋部分選定的孩子? 基本上我想使用range.surroundContents()而不會遇到異常。
(代碼不需要與歌劇/ IE工作)
確實,但我認爲這是正確的軌道。我會嘗試從具有這些屬性的原始選擇中創建一個自定義選擇。 – 2010-03-19 12:55:40
我會延長我的問題,使其更清晰。 此外,我更新了http://jsfiddle.net/GFuX6/5/ – 2010-03-19 13:21:28
的示例選擇一些文本,按下轉義,文本變爲粗體。在小提琴中有很長的一行:''window.getSelection()。getRangeAt(0).surroundContents(tag);' 當前小提琴擴展了文本節點的邊界,但我無法找到一種方法來部分覆蓋包括節點。 – 2010-03-19 13:30:50