为什么我必须将所有脚本放在jQuery Mobile中的index.html中

为什么我必须将所有脚本放在jQuery Mobile中的index.html中

在我的PhoneGap+jqueryMobile项目中,我使用了$.MobileChang电进行重定向。然而,让我感到困惑的是,我需要将所有页面的脚本放到同一个文件index.html中。否则,重定向页无法在其标头中执行函数。

例如,我的index.html似乎是$(document).bind("deviceready",function(){$.mobile.changepage("test.html");})

然后,我的设备将重定向到test.html,它似乎是

$("#btnTest").click(function(){alert("123");})<button id="btnTest">Test</button>

但是,脚本将永远不会在test.html中执行。然后,我将脚本放到index.html中,我希望这样做。无论如何,如果我把所有的脚本放在同一个页面上,项目将变得越来越难保存。感谢你的帮助。


江户川乱折腾
浏览 557回答 3
3回答

胡子哥哥

与普通的HTML页面不同,jQueryMobile在页面间导航时使用了Ajax技术。因此,确保在所有html页面中导入所有JS文件和库。如果您密切注意到,您将看到在加载第二个页面时考虑到了上一页中的JS文件。但是,如果强制刷新当前页面,则当前页的js文件将是有效的。因此,正如我前面所说,确保在所有html文件中导入js文件。也不需要打电话deviceready,使用以下语法调用页面特定的js函数$(document).on('pageshow',&nbsp;'#YourPageID',&nbsp;function(){ &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Your&nbsp;code&nbsp;goes&nbsp;here});
打开App,查看更多内容
随时随地看视频慕课网APP