如果您的第二页 javascript 放置在 HEAD 内容中
如果我理解正确,您是在使用 ajax 将此页面加载到DOM中吗?如果这是真的,那么我理解你的问题。你看,当 ajax 用于页面加载时,只有BODY内容被加载到DOM中。
如果您在第一个 HTML 文件中初始化您的第二个 html 页面 javascript 或在第二个HTML正文内容中移动您的SCRIPT块,您可以解决您的问题。
此外,我已经在我的其他文章中描述了这个问题,其中包含更多细节和一些示例,或者可以在此处找到。
如果您有多个具有相同 id 的按钮
这也可能是一个有点不同的问题。你看,如果你有 2 个具有相同 id 的按钮,它们都在一个DOM结构中。如果您尝试在第二页按钮上绑定单击事件,则该相同事件将绑定到第一页上的按钮。因为它们具有相同的 id ,所以jQuery会将事件绑定到 DOM 中找到的第一个按钮(具有该 id)。
要解决此问题,您需要使用名为活动页面的jQM构造函数。还有一个警告,下一个代码示例仅适用于在pageinit事件之后初始化的页面事件,例如pagebeforeshow或pageshow事件:
$(document).on('pagebeforeshow', '#yourPageID', function(){
// Registering button click
$(document).on('click', $.mobile.activePage.find('#myButtonID'), function(){
// Do something
});
});
这行代码:
$.mobile.activePage.find('#myButtonID')
只会在当前活动页面中找到按钮“#myButtonID”,无论 DOM 中存在多少具有相同 id 的其他按钮。
回答最后一个问题
关于你最后的问题。您使用哪种模板结构(1 个多页的 HTML 或多个 HTML)并不重要,您只需要担心我之前提到的事情。