我正试图从JQM 1.3.2转到1.4.3,我遇到了一个奇怪的问题。
我的主页显示指向其他页面的链接列表。这些页面是通过克隆母版页动态生成的。这些页面包含一个应该打开弹出窗口的按钮。它适用于JQM 1.3.2,而不适用于JQM 1.4.3。
克隆后看起来元素没有正确增强。但我尝试了新的enhanceWithin()函数没有成功。我也尝试了popup()函数。
以下是我的代码的简化版本:
<div data-role="page" id="home">
<div data-role="header">
<h1>JQM 1.3.2</h1>
</div>
<div data-role="content">
<ul data-role="listview">
<li><a href="#pagemaster">Master</a>
</li>
<li><a href="#pageclone" class="clone">Clone</a>
</li>
</ul>
</div>
</div>
<div data-role="page" id="pagemaster">
<div data-role="header">
<h1>Page</h1>
<a href="#home" data-rel="back" data-role="button" data-icon="arrow-l" data-transition="slide">Back</a>
</div>
<div data-role="content">
<a href="#mypopup" data-rel="popup" data-role="button">Open Popup</a>
</div>
<div data-role="popup" id="mypopup">
<div data-role="header">
<h1>My Popup</h1>
</div>
<div data-role="content">This popup is working correctly</div>
</div>
</div>
和javascript:
$(function() {
$(".clone").click(function(event) {
event.preventDefault();
$("#pagemaster").clone().appendTo("body").attr("id", "pageclone");
$.mobile.changePage("#pageclone");
});
});
以下是JQM 1.3.2的工作小提琴:http://jsfiddle.net/matthieubrunet/EsZ4F/1/
这是JQM 1.4.3的一个不起作用的小提琴:http://jsfiddle.net/matthieubrunet/xrfAf/
如果单击主链接,弹出按钮将起作用,但如果单击克隆链接则不行。
非常感谢你的帮助。
答案 0 :(得分:1)
我回答我的问题,因为FrédéricHamidi在评论中给了我解决方案: 我只需要更新我的身份证明它们仍然是独一无二的,并且它有效!
请注意,我有一个与控制组类似的情况,但这次是因为我在clone()之后调用了page()函数。这对于1.3是必要的,但不再是1.4。