IE cursor position

dakata__92

Super Moderator
Имам този код и желая да направя така, че когато се подадат тагове под ИЕ да се премества курсора по средата. Под останалите браузери го настроих, но под ИЕ не можах да го изпмайстора :
[js]
//Функция за добавяне на тагове.
function addtags(tag1,tag2,obj)
{
//Ако таг2 е [/color] или [/size] при изпълнение на функцията ще се селектне отново първия option.
if(tag2=="[/color]" || tag2=="[/size]")
{
$("option[value='0']").attr('selected','selected');
}
textarea = document.getElementById(obj);
textarea.focus();
//Internet Explorer
if (document.selection && document.selection.createRange)
{
//Взема се стойноста на селектирания текст.
var sele = document.selection.createRange();
if (sele.parentElement() == textarea)
{
sele.text = tag1 + sele.text + tag2;
}
}
//Mozilla, Chorme...
else
{
var len = textarea.value.length;
var start = textarea.selectionStart;
var end = textarea.selectionEnd;
var scrollTop = textarea.scrollTop;
var scrollLeft = textarea.scrollLeft;
var sel = textarea.value.substring(start, end);
var rep = tag1 + sel + tag2;
textarea.value = textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
textarea.scrollTop = scrollTop;
textarea.scrollLeft = scrollLeft;
var cursorpos = start+rep.length-tag2.length;
textarea.setSelectionRange(cursorpos, cursorpos);
}
}
[/js]

Това е кода за другите браузери : [js]var cursorpos = start+rep.length-tag2.length;
textarea.setSelectionRange(cursorpos, cursorpos);
}[/js]
а ето и нещо което намерих за подсказка за ИЕ , но немога да го настроя заради променливата cursors :
var cursorpos=start+rep.length-tag2.length;
[js]
var range=textarea.createTextRange();
range.collapse(true);
range.moveEnd('character', cursorpos);
range.moveStart('character', cursorpos);
range.select();
[/js]
 
Повтарям ти пак! Версия 2 на кода ми и нямаш проблеми с никой браузър и получаваш много повече функции и по-стабилен код!

П.С. Скоро го очаквайте в сайта като урок ;) Демо: http://plamba.no-ip.org/bbcode-v2/ ако намерите бъг или имате забележки ми пишете :P
 
IzKuFeLiQqQqQ каза:
Повтарям ти пак! Версия 2 на кода ми и нямаш проблеми с никой браузър и получаваш много повече функции и по-стабилен код!

П.С. Скоро го очаквайте в сайта като урок ;) Демо: http://plamba.no-ip.org/bbcode-v2/ ако намерите бъг или имате забележки ми пишете :P
Мммм за повече функции не си виждал какви промени съм правил, а на мен старата ми допада мноого повече :)
 
Пробвах и така само за ИЕ и не се получава :(
HTML:
if (document.selection){//ie:
			var start = textarea.selectionStart;
			var end = textarea.selectionEnd;
			var cllen = tag2.length+end;
			textarea.selectRange(end+cllen,end+cllen);
			textarea.setSelectionRange(start, end);
            var range = textarea.createTextRange();
            range.collapse(true);
			range.moveStart('character', start);
            range.moveEnd('character', end);            
            range.select();
		
	}
 

Back
Горе