Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Управление курсором в designMode (https://javascript.ru/forum/dom-window/9987-upravlenie-kursorom-v-designmode.html)

BreatheInTheVoid 14.06.2010 19:05

Управление курсором в designMode
 
возможно ли как-нибудь управлять курсором когда iframe находится врежиме designMode? Например у меня по определенному событию в iframe вставляется текст и курсор ни к месту оказывается вначале.

Octane 14.06.2010 19:14

Возможно. Установите границы Range объекта в нужном месте так, чтобы они совпадали. http://fastcoder.org/articles/?aid=609

BreatheInTheVoid 14.06.2010 22:57

Спасибо, буду пробовать.

BreatheInTheVoid 15.06.2010 12:00

Я прочитал статью, но немного не понял как это будет работать и влиять на курсор.
До пустим мне по событию нужно из одного элемента вставить текст в iframe в режиме designMode = on.

var root = parent.document.getElementById("text");
var rng = root.createRange();

rng.setStart(  /* устанавливаем начало */ );
rng.setEnd( /* устанавливаем конец */ );

iframe.innerHTML = rng.toString();


Но после вставки курсов все равно оказывается вначале. Я просто немного не понимаю принципа, можно по подробнее.

Octane 15.06.2010 12:17

var range = document.createRange();

 // устанавливаем выделение в нужное место
range.setStart(…); // или setStartBefore/setStartAfter или selectNode, что удобне в конкретном случае
 // схлопываем выделение в каретку
range.collapse(true);

// отображаем визуально
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
Это нужно делать после вставки.


Часовой пояс GMT +3, время: 10:55.