Страница 1 из 1

Фокусировка на тексте, обрамлённом псевдотегами для Fire Fox

Добавлено: 17 мар 2006, 17:50
Morfius
При обрамлении текста в текстарии, задача в том, чтобы переместить прокрутку (которая соскакивает) текстарии на размещённые псевдотеги, чтоб их было видно.

Как это можно разрешить?

Код: Выделить всё

function set_psevdoTag(txtarea, psevdoTag_name){
	firstPsevdoTag = '[' + psevdoTag_name + ']';
	secondPsevdoTag = '[/' + psevdoTag_name + ']';
	if (document.getSelection) { //if NN
	      mozWrap(txtarea, firstPsevdoTag, secondPsevdoTag);	}else if (document.selection && document.selection.createRange) { //if IE
	    var txt = document.selection.createRange();
	    txt.text = firstPsevdoTag + txt.text + secondPsevdoTag;
	}		
}
function mozWrap(txtarea, open, close)
{
	var selLength = txtarea.textLength;
	var selStart = txtarea.selectionStart;
	var selEnd = txtarea.selectionEnd;
	alert('selStart: '+selStart+' selEnd: '+selEnd);	
	if (selEnd == 1 || selEnd == 2)
                    selEnd = selLength;
	var s1 = (txtarea.value).substring(0,selStart);
	var s2 = (txtarea.value).substring(selStart, selEnd)
	var s3 = (txtarea.value).substring(selEnd, selLength);
	txtarea.value = s1 + open + s2 + close + s3;
	txtarea.setSelectionRange(selStart, selEnd);
	return;
}

Добавлено: 17 мар 2006, 18:15
Oscar
function mozWrap(txtarea, open, close)
{
var scrollPos = txtarea.scrollTop;
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
//alert('selStart: '+selStart+' selEnd: '+selEnd);
if (selEnd == 1 || selEnd == 2)
selEnd = selLength;
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd)
var s3 = (txtarea.value).substring(selEnd, selLength);
txtarea.value = s1 + open + s2 + close + s3;
txtarea.setSelectionRange(selStart, selEnd);
txtarea.scrollTop = scrollPos;
return;
}

Добавлено: 20 мар 2006, 11:00
Morfius
Спасибо, а где-нибудь есть обширная документация по яваскрипту (в том числе, и для Fire Fox)?
А то только урезанная попадается.

Добавлено: 20 мар 2006, 11:21
Oscar
Нну как .. обширная - это тут, пожалуй, ... :
http://www.w3.org/DOM/

Конкретно по Mozilla Firefox - тут:
http://www.mozilla.org/js/


Насколько это будет полезно - другой вопрос ..

Добавлено: 07 апр 2006, 18:32
Oscar