Показать сообщение отдельно
  #1 (permalink)  
Старый 05.11.2012, 07:25
Интересующийся
Отправить личное сообщение для Broken Посмотреть профиль Найти все сообщения от Broken
 
Регистрация: 19.08.2012
Сообщений: 17

Как обмануть “hashchange”.
Имеется простенький ajax поиск, сначала набранный текст попадает в хеш ссылку (#search-some), а оттуда его извлекает специальная функция и запускает функцию поиска, естественно подобное не всегда меня устраивает, и есть необходимость обращаться к функции поиска напрямую и только после этого менять ссылку, а вот здесь возникли проблемы. Например если обозначить специальную переменную и присвоить ей значение которое не дает запустить функцию отлавливающую изменение хеш, а после изменения ссылки изменить переменную, функция все равно заметит изменение хеш и запустит скрипт заново, в общем если кто подскажет в какую сторону копать буду признателен.

//где запускаю
hashOn = 0; 


//где изменяю 
location.hash =  "search-"+string; 
hashOn = 1; 

//где отлавливаю
$(window).on('hashchange', function() {
	if (hashOn != 0) return change(); 
 });
Ответить с цитированием