Javascript在ContentEditable div中设置插入位置

时间:2011-07-12 22:43:09

标签: javascript contenteditable caret

我有一个contenteditable设置的div。这个div包含一个内部div,如:

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

奇怪的可编辑div结构来自于对其他功能的需求。

如何使用javascript将插入位置设置为内部div内容的开头?

1 个答案:

答案 0 :(得分:2)

在IE以外的浏览器中&lt; 9,你可以非常简单地做到这一点,为简洁起见,你在内部<div>添加了一个“innerKey”的id:

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

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

如果您需要支持IE&lt; 9,您可以使用我的Rangy库提供跨浏览器的DOM范围和选择支持。