Скажем, у меня есть три поля выбора, все из которых настроены на $.bbq.pushState
onChange. Если выбор также имеет взаимозависимости (например, выбор другой модели меняет то, какие цвета доступны), изменение одного выбора может привести к window.hashchange
срабатыванию несколько раз: один раз от первоначального изменения и снова для каждого из обработчиков изменений зависимых выборов.
Если обработчик hashchange дорогой (или не идемпотентный), это может быть проблемой. Какой лучший способ предотвратить это?