Текст редактируемого дива
Доброго времени суток ув. форумчане!
Ситуация: у меня на странице редактируемый див (поле ввода для поиска), в зависимости от последнего введённого слова, в поле ниже появляются варианты поиска, при выборе одного из этих вариантов последнее слово (простой текст) меняется на ссылку... т.е. вид становится примерно такой: 1. (до) <div ...>бла бла бла Поиск</div> 2. (после) <div ...>бла бла бла<a href="./poisk.htm">Поиск</a></div> и проблема в том что когда я продолжаю вводить текст в это поле он вводится не в div, уже в ссылку, что неправильно... как указать положение курсора в этом диве, чтоб оно было за пределами ссылки? или может есть другие идеии. p.s. получалось выйти за пределы ссылки с помощью какого нибудь символа типа тильды или кавычки (менее заметного) после самой ссылки заранее спасибо! |
Это код из какого-то моего проекта, который ставит курсор в конец введенного текста.
wnd - contentWindow редактируемого узла. if (wnd.document.body.createTextRange) { var range = wnd.document.body.createTextRange(), textnode = wnd.document.createElement('span'); textnode.appendChild(wnd.document.createTextNode(' ')); var lastelement = ASC.TMTalk.dom.lastElementChild(wnd.document.body); (lastelement ? lastelement : wnd.document.body).appendChild(textnode); range.moveToElementText(textnode); range.select(); range.pasteHTML(''); range.collapse(true); } else if (wnd.document.createRange) { var range = wnd.document.createRange(), textnode = wnd.document.createElement('span'); textnode.appendChild(wnd.document.createTextNode(' ')); wnd.document.body.insertBefore(textnode, ASC.TMTalk.dom.lastElementChild(wnd.document.body)); range.selectNode(textnode); wnd.getSelection().addRange(range); wnd.getSelection().collapseToStart(); wnd.document.body.removeChild(textnode); } |
спасибо разобрался, правда, не как посоветовали.
достаточно было добавить нечно такое: ob.innerHTML+='\xA0'; p.s. тот код для дива не идёт он только инпут=( ну всё равно спасибо |
leoHex,
он как раз для дива с contenteditable. |
кажется понял как он работает=) спасибо!
|
Часовой пояс GMT +3, время: 08:49. |