在jQuery mobile中通过AJAX从链接加载页面时,在刷新页面之前不会触发对话框窗口。如果我尝试将对话框添加到任何其他页面,则会发生这种情况。如果我要在对话框页面所在页面的链接中添加 data-ajax =“false”,则对话框可以正常工作。我们想使用jQuery移动功能和转换,所以ajax false是不可能的。
我们在每个页面上的所有标题信息都是相同的,并且正确调用了所有对话框。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Mobile Demos</title>
<link rel="stylesheet" href="css/jquery.mobile-1.3.0.css">
<script src="js/jquery.js"></script>
<script src="js/jquery.mobile-1.3.0.js"></script>
</head>
<div data-role="page" data-theme="a" id="dialogpage">
<a href="#foo2" data-rel="dialog" data-role="button" data-inline="true" data-theme="c">Open Basic Dialog</a>
</div>
<div data-role="dialog" id="foo2" data-close-btn="right">
<div data-role="header" data-theme="d">
<h1>lorum ipsum header</h1>
</div>
<div data-role="content">
<p>lorum ipsum</p>
<a href="#" data-rel="back" data-role="button" data-inline="true" data-theme="b">Ok, I get it</a>
</div>
</div>
</body>
</html>
答案 0 :(得分:0)
尝试在文档底部加载JavaScript。
位于</body>
标记的正上方。这是优化加载时间和其他原因的最佳实践方法。例如在某些情况下使用某些浏览器(可能大多数在撰写本文时.JavaScript通常只能在加载之前找到加载的内容。如果您的脚本在要显示的元素之前加载,则javascript正在运行在渲染元素本身之前它的“就绪”函数。由于缓存,它可能会在刷新时触发。但是由于脚本无法找到它,所以其余时间都会失败