Проблема с 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, время: 17:31. |