Первое, что нужно понять, это то, что document.ready не так актуален в мобильном мире jquery. document.ready запускается после завершения DOM. То, что вы хотите, это события, которые происходят вокруг создания страницы и переходов страниц каждой «страницы».
То, что вам нужно: pageinit .
//Triggered on the page being initialized, after initialization occurs. We recommend
//binding to this event instead of DOM ready() because this will work regardless
//of whether the page is loaded directly or if the content is pulled into another
//page as part of the Ajax navigation system.
$( '#loginPage' ).live( 'pageinit',function(event){
alert( 'This page was just enhanced by jQuery Mobile!' );
});
Если вы хотите, вы можете привязать к форме входа или любой другой части этой «страницы», если хотите. Вы также можете просто подключиться к форме вживую.
Этот ...
$('#login').submit(function() {
alert('about to do stuff...');
});
становится этим ...
$('#login').live('submit', function() {
var $form = $(this);
alert('about to do stuff...');
});
Единственное, что с этим связано, - чем больше «живых» событий вы используете, тем больше будет зависать ваше приложение. Это вызывает много пузырей событий.
Для лучшей производительности вы должны просто использовать именованную функцию и подключить onsubmit к самому тегу формы. Я знаю, что это может быть не модно, но это самое быстрое решение.