событие прокрутки JavaScript для iPhone/iPad?

Я, может казаться, не получаю событие прокрутки на iPad. Ни один из них не работает, что я делаю неправильно?

window.onscroll=myFunction;

document.onscroll=myFunction;

window.attachEvent("scroll",myFunction,false);

document.attachEvent("scroll",myFunction,false);

Они все работают даже над Safari 3 в Windows. Как ни странно, КАЖДЫЙ браузер на поддержках ПК window.onload= если Вы не возражаете ударять существующие события. Но не пойдите на iPad.

105
задан ck_ 19 May 2010 в 07:18
поделиться

1 ответ

iPhoneOS действительно фиксирует события onscroll, но не так, как вы ожидаете.

Панорамирование одним пальцем не генерирует никаких событий, пока пользователь не остановит панорамирование - событие onscroll генерируется, когда страница перестает двигаться и перерисовывается - как показано на рисунке 6-1.

Аналогично, прокрутка двумя пальцами вызывает событие onscroll только после остановки прокрутки.

Обычный способ установки обработчика работает, например, так

window.addEventListener('scroll', function() { alert("Scrolled"); });
// or
$(window).scroll(function() { alert("Scrolled"); });
// or
window.onscroll = function() { alert("Scrolled"); };
// etc 

(См. также https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html)

143
ответ дан 24 November 2019 в 03:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: