2011-07-12 65 views
2

我有一個與contenteditable集合的div。這個div包含內部的div像這樣:Javascript在ContentEditable div中設置插入位置

<div contenteditable="true" class="key"> 
    <div class="innerKey">276</div> 
</div> 

奇編輯DIV結構認識來源於需要其他的功能。

我該如何去設置插入位置到內部div的內容開始使用javascript?

+0

看看[Rangy](http://code.google.com/p/rangy/)。 –

回答

1

在比IE < 9其他瀏覽器,你可以做到這一點很簡單,假設您添加 「innerKey」 的一個ID,內<div>簡潔:

var sel = window.getSelection(); 
var innerDiv = document.getElementById("innerKey"); 
var innerDivText = innerDiv.firstChild; 
sel.collapse(innerDivText, 0); 

的jsfiddle:http://jsfiddle.net/Jaj6t/5/

如果您需要支持IE < 9,則可以使用我的Rangy庫來提供跨瀏覽器DOM範圍和選擇支持。

+0

嗨,蒂姆!我正在使用IE 8並需要做同樣的事情。我怎樣才能使用你的Rangy圖書館來設置可愛的div中的插入符號?非常感謝! – Crista23

+0

@ Crista23:用'rangy.getSelection()'替換'window.getSelection()'。 –

+0

我在我的項目和上面的代碼(包括sel = rangy.getSelection();)中包含Rangy在調用sel.collapse時發生了一個js錯誤(從rangy-core.js發出消息,沒有找到節點文檔) 。如何解決這個問題?謝謝。 – Crista23

相關問題