Я чувствую твою боль. Я потратил как минимум 6 часов, пытаясь понять это. Но я сделал, по крайней мере, приятный обходной путь, который работал для меня.
У меня есть фиксированный заголовок с навигацией в нем, как и во многих заголовках. Тело / HTML прокручивается вверх под ним. (типично)
После нажатия навигационной кнопки страница прокручивается и эффективно убивает мои кнопки, пока я снова физически не прокручиваю свое тело пальцем. Это как-то делает мои кнопки кликабельными снова. Я попробовал все, и никто, казалось, не решил это, или не поделился результатами.
HTML ::
В конце моего контейнера div я добавил пустой div без высоты / ширины
<div id="device"></div>
</div> <!--! end of #container -->
JS ::
Перед анимацией прокрутки я задаю высоту div 200px.
$('#device').css('height', '200px');
сразу после завершения анимации, я убираю высоту
$('#device').css('height', '0px');
Вот и все. Сладкая хакерская магия. Надеюсь, это поможет.
Если вам нужен рабочий пример, http://ryanore.com
В настоящее время я нахожусь в процессе, поэтому я не буду приводить ссылки на него, но эй, это для хорошего дела.