jquery-mobile: silentScroll не работает с initPage - PullRequest
3 голосов
/ 19 января 2012

Я хочу тихо прокрутить окно, когда страница полностью загружена, поэтому я вызываю silentScroll внутри слушателя initPage.Однако, это не работает, никакой прокрутки.

$('#mainPage').live( 'pageinit', initPage);

function initPage() {
    $.mobile.fixedToolbars.setTouchToggleEnabled(false);
    $.mobile.silentScroll(800);
    ....

Единственный способ заставить его работать, это вызвать его через setTimeout, но почему?Страница должна быть готова к выполнению pageinit, ссылаясь на документы jqm по http://jquerymobile.com/demos/1.0/docs/api/events.html.

. При этом работает автоматическая прокрутка, но она уродлива:

setTimeout(function(){$.mobile.silentScroll(8000);}, 1000);  // scroll after 1 sec

Выполнение $.mobile.silentScroll(8000); вИнструменты Firebug / Chrome dev также работают нормально, только не в initPage.Когда я показываю предупреждение js в initPage, оно показывается.Но прокрутка просто не выполняется должным образом.Может быть, ошибка JQM?

1 Ответ

0 голосов
/ 19 января 2012

Подробный ответ на этот вопрос здесь: https://github.com/jquery/jquery-mobile/issues/3461

...