Показать сообщение отдельно
  #6 (permalink)  
Старый 11.01.2012, 14:45
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

GuardCat, вы правильно сделали range-объект, но неправильно ставите курсор) Точнее, совсем его не ставите. А ещё у вас ошибка с передачей event - вы его не передаёте) Вот это может вам помочь:

<!DOCTYPE HTML>
<html>
<body>  
  <div contenteditable onkeyup = "test.call(this, event)">0123456789</div>
  <script>
    function test(e) {
      var range = document.createRange()
      if (e.keyCode == 37) {
        range.setStart(this.childNodes[0]/* Это же textNode? */, 2);
        range.collapse(true);// совмещаем конец и начало в стартовой позиции
        var sel= window.getSelection();
        sel.removeAllRanges();
        sel.addRange(range);
      };
    };
  </script>
</body>
</html>


Но данный код - не для IE. Читайте статью.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием