https://glitch.com/edit/#!/proud-picture
我坚持使用jQuery Mobile的奇怪行为。
认为$(document).on('pagecontainerbeforeshow', function(event, ui) { ... }
假设我们有多个html单页jQuery Mobile 1.4.5应用程序(两页index.html
和rollo.html
),ajaxEnabled = true。
通过链接,我们可以从一个页面导航到另一个页面。在index.html
我们有一个链接列表,每个链接都会显示rollo.html
页面。在rollo.html
页面上,我们右上角有一个带有主页图标的按钮 - 它会将我们带回index.html
我将console.log("drawRollo")
放入$(document).on('pagecontainerbeforeshow', function(event, ui) { ... }
每次在rollo.html
页面调用的事件中,以便我们可以在控制台中看到它已被调用。
我故意放置不同的过渡效果,因此我们知道从哪个页面开始加载。
现在,如果第一页是index.html
,然后我们通过链接转到rollo.html
,然后返回index.html
依此类推 - 每次rollo.html
打开drawRollo
的通话次数正在增加 - 首先它是一个,然后是两个,然后它被称为三次,依此类推。 为什么会这样?
另一方面,如果我们从rollo.html
开始,然后通过链接导航到index.html
,然后返回rollo.html
,依此类推 - 每次drawRollo
方法正被召唤一次。