Nekromancer, ни разу не сталкивался (самообучение любителя вещь непредсказуемая), спасибо.
Почитал и попробовал использовать, но пока безуспешно. В примере, при нажатии в div клавиши влево, курсор должен устанавливаться в определённое место. Функция вызывается, ошибок нет. эффекта нет. Подскажете где ошибся?
<!DOCTYPE HTML>
<html>
<body>
<div contenteditable onkeyup = "test.call(this)">0123456789</div>
<script>
function test(e) {
e = e || event;
var range = document.createRange()
if (e.keyCode == 37) {
range.setStart(this.childNodes[0]/* Это же textNode? */, 2);
range.setEnd(this.childNodes[0], 2);
}
}
</script>
</body>
</html>
Похоже, выделяется текст успешно, можно его получить как range.toString(), но курсор положения не меняет (chrome 16).