jquery - 如何使用 jQuery mobile 通过 AJAX 加载多页模板?

标签 jquery templates mobile jquery-mobile multipage

我的网络应用程序遇到问题: 当我在浏览器中打开“多页模板”页面时,我可以在 DOM 中看到两个页面,但只有一个页面是事件的,这是合乎逻辑的,对此没什么好说的。

但是当我使用ajax转换从上一页加载“多页模板”页面时,我可以在DOM中看到上一页(也是合乎逻辑的:如果用户想返回,避免再次加载此页面)但是仅加载“多页面模板”页面中的一个页面(第一个)。

我以为我在 javascript 的整个过程中犯了一个错误:我在加载后自动删除非事件页面以避免 ID 冲突,但我为此页面编写了一个特殊情况,没有使用我的自动页面删除-功能。当我在浏览器中打开“多页面模板”时,它完美地工作(两个页面都在 DOM 中,我的“特殊情况”代码有效)

所以我去了文档页面: http://jquerymobile.com/demos/1.0/docs/pages/page-anatomy.html

我向下滚动到“多页面模板结构”部分 右键单击按钮“查看多页模板”>检查元素 我们可以看到代码:

<a href="../../docs/pages/multipage-template.html" 
data-inline="true" 
data-theme="b" 
data-role="button" 
rel="external" 
class="ui-btn ui-btn-inline ui-btn-corner-all ui-shadow vt-p ui-btn-up-b">
<span class="ui-btn-inner ui-btn-corner-all" aria-hidden="true"><span class="ui-btn-text">View multi-page template</span></span>
</a>

所以,rel="external"代码意味着这个页面不会使用ajax转换加载,当你点击这个按钮时,多页模板可以完美工作(但它没有加载)通过 Ajax ...) 回到按钮代码,我动态地从 DOM 中删除了属性 rel="external",因此页面将在 ajax 中加载。我单击按钮,多页加载良好,但无法到达页面“#two”。快速查看 DOM 后:id="two"的页面不存在,框架未加载。

所以这可能是正常行为,但是有没有办法在使用 ajax 转换时加载多页面模板的所有内部页面?

(抱歉我的英语不好,我希望它仍然可以理解)

最佳答案

这是正常行为,但有一个解决方法。查看托德·汤姆森的 jQuery-Mobile-Subpage-Widget.

关于jquery - 如何使用 jQuery mobile 通过 AJAX 加载多页模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8837829/

相关文章:

javascript - JQuery比较输入值?

javascript - 使用 Jquery 或 Javascript 动态计算字段的划分

c++ - 在 C++ 中接受 "anything"的模板

javascript - 如何检测手机浏览器的屏幕尺寸?

javascript - 如何在python中使用真正的jquery从网页中提取数据?

javascript - 在网站中检测 android 混合应用程序环境

c++ - 如何从模板中获取类型和值信息

c++ - 传递不同的函数作为参数

css - m.subdomain - 我的理解正确吗?

google-chrome - Protractor :更改用户代理