Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Выделение текста с помощью скрипта (https://javascript.ru/forum/dom-window/16028-vydelenie-teksta-s-pomoshhyu-skripta.html)

pro_xaoc 23.03.2011 13:54

Выделение текста с помощью скрипта
 
Уважаемые знатоки! Прошу вашей помощи. В общем вопрос такой: Вот в форумах после выделения текст и нажатия на "цитировать", выделенный фрагмент появляется в textarea. Как можно это организовать? В гугле говорят про document.selection.createRange, но у меня чего-то не работает, возможно где-то допускаю ошибку. Заранее спасибо!

Serg_pnz 23.03.2011 17:16

Попробуйте это
if (document.getSelection) {txt=document.getSelection()}
else if (document.selection) {txt=document.selection.createRange().text;}

pro_xaoc 23.03.2011 18:28

но как вызывать эту функцию при выделении какого-то текста? или как называется это самое событие, чтоб я смог привязать к нему эту функцию?

goldserg 23.03.2011 18:39

Ставь таймер.
setInterval

pro_xaoc 23.03.2011 20:57

setInterval(my,0);
	var my = $('#qu');	
	function my (){
		if (document.getSelection == ''){
			return false;
		}else {
			txt=document.getSelection();
			my.val(txt);
		}
	}

почему условие в функции, постоянно возвращает истину? даже если и getSelection пуст (т.е. ничего не выделено). Из-за него, я не могу что либо написать на textarea, постоянно обнуляется. Спасибо.

goldserg 24.03.2011 12:27

1) для начала переменная и имя функции должны быть с разными именами.
2) if (document.getSelection() == ''){
3) setInterval(my, 200) - будет вполне достаточно,

И все должно заработать.


Часовой пояс GMT +3, время: 10:40.