Как для DIV CONTENTEDITABLE вычислить позицию курсора и вставить объект картинку

Valentin

Новичок
Как для DIV CONTENTEDITABLE вычислить позицию курсора и вставить объект картинку

Вот часть кода из диалогового окна, где производится редактирование картинки для вставки в редактируемое поле DIV в родительском окне.

Но сейчас картинка вставляется в конец текста в поле DIV, а необходимо по позиции курсора.

Код:
var Img = window.opener.document.createElement ('IMG') ;
UpdateImageParams( Img ) ; // Сохранение заданных параметров для картинки
var Div = window.opener.document.all["divtext"];
Div.innerHTML += ' ';
Div.appendChild( Img ); // Вставка изображения
 

crocodile2u

http://vbolshov.org.ru
textRange?

И, кстати: судя по вот этой строчке - "var Div = window.opener.document.all["divtext"];" - существующие WYSIWYG-редакторы обладают несколько бОльшей кроссбраузерностью. (Это я не к тому, что нужно обязательно брать готовое решение... Но, может быть, стоит хотя бы глянуть на опыт предыдущих поколений? :) )
 

Valentin

Новичок
["divtext"]" - ну эт доделаю. эволюция :) Вопрос такой, какая альтернатива appendChild( Img ); ?
 

crocodile2u

http://vbolshov.org.ru
ну, может быть, посмотреть, как это реализовано у других? Посмотри на createTextRange(). Правда, не доводилось еще видеть WYSIWYG на DIV'е, но, думается, должно работать...
 

littleannika

Новичок
Вот у меня тоже эта проблема возникла...

crocodile2u
createTextRange() работает только с body и элементами формы.

Надо из iframe скопировать в div картинку с рисунком и ссылкой.

Копируется оттуда с использованием createTextRange() прекрасно, но фокус у div теряется, а focus() ставит курсор куда попало. И execCommand помещает скопированное не туда, куда надо...
 

Valentin

Новичок
Автор оригинала: littleannika
Копируется оттуда с использованием createTextRange() прекрасно, но фокус у div теряется, а focus() ставит курсор куда попало. И execCommand помещает скопированное не туда, куда надо...
если можно, опишите, как createTextRange() копирует рисунок.
 

littleannika

Новичок
var col;
col=document.frames.dragframe.document.body.createTextRange();
col.select();
document.frames.dragframe.document.execCommand("Copy");

oDiv.focus();
document.execCommand("Paste");

-~{}~ 08.10.05 04:47:

Эх, никто не отвечает... я вот подумала, что мне не просто надо вставить внутрь текста в диве, а туда, куда юзер мышкой укажет... Может по клику в диве вставлять? Все пошла проверять...
 
Сверху