这是我的page.html
:
<head>
<script... jquery
<script... jquery.mobile
<scripts... imagemapster, autocomplete, etc...
</head>
<body>
<div page1..
</div>
<div page2..
</div>
<my script with functions and initializations...
</body>
在我的<script>
中,有一些与page1.pageshow
事件的绑定。当我直接加载整个页面,确保第一次加载所有脚本时,我的脚本也正确加载并且没有任何缺陷。即使从page2
回到page1
,也会触发事件。
但是,当我转到另一个页面,或使用JM内置的ajax函数刷新同一页面时,我的脚本未加载,或pageshow
page1
未被触发。
我尝试将脚本放在page1
的末尾,或者进入头部,但它仍然无法重新加载。我也不能把它放在任何涉及的div之前(所有页面中的许多标签都附有一些事件) - 因为不仅pageshow
错过了,还ready
和pageload
。
很抱歉,我无法显示整个代码,但您会以哪种方式工作并寻求找出问题所在?
答案 0 :(得分:0)
此处的脚本只会在文档加载时触发一次
<head>
<script... jquery
<script... jquery.mobile
<scripts... imagemapster, autocomplete, etc...
</head>
<body>
<div page1..
<script with the (page1).on(pageshow event handler)>
</div>
<div page2..
<script with the (page2).on(pageshow event handler)>
</div>
<script here fired only once at document load>
</body>
由于您使用一个页面来包含所有实际页面,因此期望每次页面转换始终会触发它,这是非常错误的。 通常,每个页面脚本都在div [data-role = page]内编码。 确保您使用页面ID作为每个内联pageshow事件处理程序的选择器。