Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.04.2011, 19:52
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,571

Выбрать правильную стратегию обработки события
Привет.
Такая ситуация, что есть поле ввода(type="text") и по изменению данных в нем шлется аякс запрос для подгрузки соответствующих данных в соседнее поле.
Запрос сам не очень быстрый, т.к. на сервере идет считывание данных с другого сайта. Ну в среднем: 2-3 сек.
Сделал запуск по onchange, чтобы не дергались запросы на сервер при редактировании, но как то оно ... не совсем нравится. Хотелось бы поинтерактивней, а то onchange начинает работать при потере фокуса только

В принципе основная операция тут будет - вставка в это поле из буфера обмена.

Как бы получше обработать данную ситуацию?
Ответить с цитированием
  #2 (permalink)  
Старый 21.04.2011, 20:25
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

Есть события paste, input, но они не везде. Можно назначить обработчик ряду событий. Где-то видел что-то наподобие
var events = ["paste", "keyup", "change", "input"];

for(var i = 0; i < events.length; i ++){
	elem["on" + events[i]] = function(e){
		//handler
	}
}
__________________
readOnly
Ответить с цитированием
  #3 (permalink)  
Старый 21.04.2011, 20:53
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от micscr
Сделал запуск по onchange, чтобы не дергались запросы на сервер при редактировании
что мешает отловить focusout? и подождать скажем пару секунд (если в течении этого времени пользователь ничего не ввел и все корректно, то отправлять)

Последний раз редактировалось monolithed, 21.04.2011 в 20:55.
Ответить с цитированием
  #4 (permalink)  
Старый 21.04.2011, 21:10
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,571

с paste надо подумать, в доках к jquery не наблюдаю, но смотрю люди используют, завтра потестю.
Цитата:
что мешает отловить focusout?
с этим нет проблем. Именно те изменения когда человек редактирует поле, не выходя из него.
Ответить с цитированием
  #5 (permalink)  
Старый 21.04.2011, 21:20
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

я делал так:
Сообщение от monolithed
подождать скажем пару секунд (если в течении этого времени пользователь ничего не ввел и все корректно, то отправлять
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Явный вызов процедуры обработки события. supchik Общие вопросы Javascript 18 27.01.2009 13:16