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

рони, спасибо)
тупанул жестко с синтаксисом(

я вот сделал щас так, работает, выделяет как надо:
var editor = this,
		
			getSel = function(element) {
				var start = 0, end = 0;
				var sel, range, priorRange;
				if (typeof window.getSelection != "undefined") {
					range = window.getSelection().getRangeAt(0);
					priorRange = range.cloneRange();
					priorRange.selectNodeContents(element);
					priorRange.setEnd(range.startContainer, range.startOffset);
					start = priorRange.toString().length;
					end = start + range.toString().length;
				} else if (typeof document.selection != "undefined" &&
						(sel = document.selection).type != "Control") {
					range = sel.createRange();
					priorRange = document.body.createTextRange();
					priorRange.moveToElementText(element);
					priorRange.setEndPoint("EndToStart", range);
					start = priorRange.text.length;
					end = start + range.text.length;
				}
				return {
					start: start,
					end: end
				};
			},
			
			stripTags = function(text){
				if(text.length<3){return;}
				var regex = /(<([^>]+)>)/ig;
				return text.replace(regex, "");
			},
		
			setTag = function(tag) {
				var mainDiv = document.getElementById(sett.id),
					sel = getSel(mainDiv),
					val = editor.html(),
					fragment = stripTags(val.substr(sel.start, (sel.end-sel.start)));
					
					text = val.substr(0, sel.start) + "<"+tag+">" + fragment + "</"+tag+">" + val.substr(sel.end);
				
				editor.html(text);
			}



		editor.bind('keydown','ctrl+b',function(){
		   setTag("strong");
           return false;
    	});


Теперь как правильно сделать, чтоб когда уже обрамленный текст (в данном случае жирный) выделяеш, нажимаеш ctrl+b, и он теряет выделение (в данном случае теги strong по краям должны пропасть)....
Как правильно сделать?
В этом примере при обратном выделении вставляется такое: "as dd g>sad as"
Ответить с цитированием