Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 10.04.2014, 20:22
Аватар для Sanu0074
Аспирант
Отправить личное сообщение для Sanu0074 Посмотреть профиль Найти все сообщения от Sanu0074
 
Регистрация: 16.12.2012
Сообщений: 80

рони,
ну думаю будет так:
проверяется строка, сначала находятся самые крайние теги к выделенному фрагменту
проверяется наличие вложенных, если нет таких же тегов совпадающих с переданными - фрагмент обрамляется переданными тегами, если есть такиеже теги (вложенные или крайние) как переданные - то они обрезаются...... как то так...
но все же я думаю это неоч хорошее решение, верится что есть другой более разумный подход, только не знаю какой(
Ответить с цитированием
  #12 (permalink)  
Старый 11.04.2014, 00:14
Аватар для Sanu0074
Аспирант
Отправить личное сообщение для Sanu0074 Посмотреть профиль Найти все сообщения от Sanu0074
 
Регистрация: 16.12.2012
Сообщений: 80

Вот сделал, но очень криво работает:
setTag = function(tag) {
				var mainDiv = document.getElementById(sett.id),
					sel = getSel(mainDiv),
					val = editor.html();
					
					
					for(var i=sel.start; i>0; i--){
						if(val[i]==' ' || val[i]=='<'){
							sel.start=i;
							break;
						}
					}
					
					for(var i=sel.end; i<val.length; i++){
						if(val[i]==' ' || val[i]=='<'){
							sel.end=i;
							break;
						}
					}
					
					var fragment = val.substr(sel.start, (sel.end-sel.start));

					if(fragment.search("<"+tag+">")==0){
						fragment=fragment.replace("<"+tag+">","");
						fragment=fragment.replace("</"+tag+">","");
					}
										
					var text = val.substr(0, sel.start) + "<"+tag+">" + fragment + "</"+tag+">" + val.substr(sel.end);
				
				editor.html(text);
				$(".html").val(text);
			}


надо что-то другое думать(
если бы получить родительский элемент исходя из положения курсора (sel.start)....
Ответить с цитированием
  #13 (permalink)  
Старый 11.04.2014, 09:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

Sanu0074,
на всякий случай http://learn.javascript.ru/vydelenie...ge-i-selection
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как запретить отмену выделения текста от клика мышью? Маэстро Internet Explorer 0 03.04.2012 21:21
Чудеса математики js при padding borovik Элементы интерфейса 6 09.07.2011 22:02