Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Событие - втавка текста мышкрй (https://javascript.ru/forum/events/10501-sobytie-vtavka-teksta-myshkrjj.html)

tazododu 07.07.2010 12:31

Событие - втавка текста мышкрй
 
Добрый день!

Сделал подсчет кол-ва символов текстареа при вводе, но чет никак не получается нагуглить что за действие происходит, кода текст вставляется правой кнопкой мышки+вставить..

вот код, может кто подскажет ...
$("#keywords").bind("keydown keyup", check_count_kw);

function check_count_kw()
{
	var max = 750;
	var count = max - $("#keywords").val().length;
	if(count >= 0)
		$(".kw_left").html("Символов осталось: " + count + " из 750");
	else
		$(".kw_left").html("Превышено кол-во символов на: " + count);
}

pandasensey 07.07.2010 12:56

есть такая модель события, не реализованная, но очень полезная в современном сайтостроении. Событие называется reflect. Это задержка ввода, то есть поле при получении фокуса начинает проверять внутренне содержимое по таймеру раз в секунду (например). Такой подход удобен для реализации подсказок "этот логин уже зарегистрирован". После потери фокуса счетчик снимается. Думаю в вашем случае это решение проблемы. Мы ставим на поле фокус, создается счетчик, который отслеживает изменения содержимого поля. При вставки с помошью мыши, через некоторое время счетчик очередной раз проверит содержимое поля и обнаружит факт изменения. Надеюсь помог. Другого варианта не знаю, к сожалению.

tazododu 07.07.2010 13:22

спасибо!! сейчас попробую!

Starkua 07.07.2010 13:40

Джаваскрипт умеет перехватывать событие вставки текста, гуглим событие paste

pandasensey 07.07.2010 14:00

Насколько я понимаю, paste - не кроссброузерная штука, верно?

Starkua 07.07.2010 14:50

В принципе, с кроссбраузерностью все ок. Новые версии нормальных браузеров поддерживают это событие. Единственное - некоторые это добавили недавно, фф например с версии 3.0 но там были баги и только с 3.5 работает как надо. В сафари тоже не так давно появилось.
Ну а не работает только в опере.

tazododu 07.07.2010 15:12

да!!! paste рулит!!! спасибо!!!!

pandasensey 07.07.2010 15:58

Starkua, спасибо за информацию. Не знал этого события. Видимо игнорил мануалы событий, в которых было написано works fine in:... =)

tazododu 07.07.2010 23:48

всегда юзал
http://www.scribd.com/doc/32981686/j...at-Sheet-1-4-2
и там такого не было))

Starkua 08.07.2010 00:22

Цитата:

Сообщение от tazododu
всегда юзал
http://www.scribd.com/doc/32981686/j...at-Sheet-1-4-2
и там такого не было))

jQuery официально не поддерживает это событие - потому что в опере оно не работает.


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