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

Обсуждение вопросов клиентского программирования.

Модератор: Duncon

Ответить
Morfius
Сообщения: 47
Зарегистрирован: 23 янв 2005, 17:53

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

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

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

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;
}
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

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;
}
Morfius
Сообщения: 47
Зарегистрирован: 23 янв 2005, 17:53

Спасибо, а где-нибудь есть обширная документация по яваскрипту (в том числе, и для Fire Fox)?
А то только урезанная попадается.
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

Нну как .. обширная - это тут, пожалуй, ... :
http://www.w3.org/DOM/

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


Насколько это будет полезно - другой вопрос ..
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

Ответить