Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Вычислении позиции курсора в редактируемом элементе
Вычислении позиции курсора в редактируемом элементе
Как в редактируемых элементах CONTENTEDITABLE (div, td) узнать позицию курсора в тексте. Или может это можно сделать с помощью объктов TextNode или TextRange?
Я имею в виду позицию курсора в редактируемом тексте, точнее порядковый номер символа, после которого стоит курсор. Мне нужно по позиции курсора разделить текст на 2 TextNode, чтобы вставить между ними элемент.
Отвечу не про устаревший contenteditable, а про кошерный iframe с designMode="On":
В Mozilla:
var wysiwyg=wysiwyg_iframe.contentWindow.document
wysiwyg.document.selection.createRange().pasteHTML("текст")
В MSIE:
var wysiwyg=wysiwyg_iframe.contentWindow.document
var fragment = wysiwyg.createDocumentFragment()
var div = wysiwyg.createElement("div")
div.innerHTML = "текст"
while (div.firstChild) {
fragment.appendChild(div.firstChild)
}
range.insertNode(fragment)
if(navigator.appName!='Netscape'){
var range=wysiwyg.document.selection.createRange()
return range
}else{
var range = wysiwyg.getSelection()
return range.getRangeAt(range.rangeCount - 1)
}
а дальше по данному ранее тексту
p.s. это все сделано путем копи-паста из кода своего редактора, с упрощением, естественно. И получаются накладки.