jQM загружает последующие страницы в одну и ту же DOM (страницу) с помощью средств отладки / разработки с Chrome, и вы легко можете увидеть, как это происходит.
На последующих страницах он вытягивает что-либо между вашими тегами, но игнорирует все остальное, у вас может быть JS на ваших или других страницах, и он по-прежнему только вытягивает на странице 2.
Что именнос вами происходит то, что когда вы загружаете # page2 в первый раз, он правильно добавляет прямое событие в # page2, затем вы переходите к index.html, но # page2 остается в вашем DOM.Теперь, когда вы снова зайдете на # page2, он снова запустит ваш JS
$("#page2").live('pagecreate',function(event, ui) {
alert("in page2 on pagecreate");
});
Это снова свяжет ваше оповещение, и 2 события сработают, в следующий раз сработает 3.
То, как вы 'Предполагается, что он загружает все ваши JS в начале и слушает pageinit / pageshow, см. мой другой пост: https://stackoverflow.com/a/9085014/737023
Или, если у вас есть какие-либо вопросы, задавайте здесь