Текст редактируемого дива
Доброго времени суток ув. форумчане!
Ситуация: у меня на странице редактируемый див (поле ввода для поиска), в зависимости от последнего введённого слова, в поле ниже появляются варианты поиска, при выборе одного из этих вариантов последнее слово (простой текст) меняется на ссылку... т.е. вид становится примерно такой: 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, время: 07:48. |