Javascript устанавливает позицию каретки в элементе ContentEditable - PullRequest
2 голосов
/ 13 июля 2011

У меня есть div с contenteditable set.Этот div содержит внутренний div, например, так:

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

Нечетная редактируемая структура div возникает из-за необходимости в других функциях.

Как мне поступить, установив позицию каретки в началосодержимого внутреннего div с использованием javascript?

1 Ответ

2 голосов
/ 13 июля 2011

В браузерах, отличных от IE <9, вы можете сделать это довольно просто, предполагая для краткости, что вы добавили id "innerKey" к внутреннему <code><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 Range и Selection. </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...