Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.05.2010, 21:38
Новичок на форуме
Отправить личное сообщение для Krappt Посмотреть профиль Найти все сообщения от Krappt
 
Регистрация: 10.01.2009
Сообщений: 7

Проблема с 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)?

Заранее благодарен.

Последний раз редактировалось Krappt, 27.05.2010 в 22:31.
Ответить с цитированием
  #2 (permalink)  
Старый 27.05.2010, 23:43
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Документ в режиме designMode?
Ответить с цитированием
  #3 (permalink)  
Старый 28.05.2010, 00:11
Новичок на форуме
Отправить личное сообщение для Krappt Посмотреть профиль Найти все сообщения от Krappt
 
Регистрация: 10.01.2009
Сообщений: 7

У span, в котором я выделяю текст стоит contentEditable="true".

Но проблема не в этом. Javascript console в Chrome пишет ошибку, когда я пытаюсь обернуть текст с одним тегом
Uncaught Error: BAD_BOUNDARYPOINTS_ERR: DOM Range Exception 1
Ответить с цитированием
  #4 (permalink)  
Старый 28.05.2010, 00:28
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Точно не знаю, будет ли работать document.execCommand для contentEditable, если будет, то используйте команду:
document.execCommand("fontFace", false, "fake");

потом находите эти <font face="fake"> и заменяйте на нужные вам теги.
p.s. уточните порядок параметров в execCommand, сам сейчас не могу попробовать.
Ответить с цитированием
  #5 (permalink)  
Старый 28.05.2010, 01:10
Новичок на форуме
Отправить личное сообщение для Krappt Посмотреть профиль Найти все сообщения от Krappt
 
Регистрация: 10.01.2009
Сообщений: 7

Спасибо большое, про execCommand практически не знал и начал изобретать велосипед, а тут оказывается, что wysiwyg решается одним методом. Порядок параметров верный.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с дизайном после отправки xmlhttprequest, Проблема с дизайном после отправки cyberx AJAX и COMET 3 01.05.2010 17:07
Проблема с CSS COKOJIOB (X)HTML/CSS 5 04.08.2009 14:19
Проблема, в менюшке Большой джо Элементы интерфейса 0 12.07.2009 17:12
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47
Проблема с маркером kostian02 Общие вопросы Javascript 0 23.06.2008 16:10