Проблема с surroundContents
Здравствуйте!
Есть такой код:
var rng = window.getSelection().getRangeAt(0);
var b=document.createElement('b');
var fin=rng.surroundContents(b);
Помещает все содержимое текущего Range в новый элемент (в данном случае тег <b>). Все бы ничего, но оборачивается в новый тег только чистый (не содержащий тегов) или содержащий открывающийся и закрывающийся тег (<tag></tag>) блок текста. Можно ли сделать так, чтобы в <b> помещалось любое содержимое range-объекта, включая только один тег (<tag> или </tag)? Заранее благодарен. |
Документ в режиме designMode?
|
У span, в котором я выделяю текст стоит contentEditable="true".
Но проблема не в этом. Javascript console в Chrome пишет ошибку, когда я пытаюсь обернуть текст с одним тегом Uncaught Error: BAD_BOUNDARYPOINTS_ERR: DOM Range Exception 1 |
Точно не знаю, будет ли работать document.execCommand для contentEditable, если будет, то используйте команду:
document.execCommand("fontFace", false, "fake");
потом находите эти <font face="fake"> и заменяйте на нужные вам теги. p.s. уточните порядок параметров в execCommand, сам сейчас не могу попробовать. |
Спасибо большое, про execCommand практически не знал и начал изобретать велосипед, а тут оказывается, что wysiwyg решается одним методом. Порядок параметров верный.
|
| Часовой пояс GMT +3, время: 12:29. |