jQuery Mobile 1.3.0 - 对话窗口无法通过AJAX在页面加载时打开

时间:2013-04-04 18:32:31

标签: jquery html css ajax mobile

在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>

1 个答案:

答案 0 :(得分:0)

尝试在文档底部加载JavaScript。

位于</body>标记的正上方。这是优化加载时间和其他原因的最佳实践方法。例如在某些情况下使用某些浏览器(可能大多数在撰写本文时.JavaScript通常只能在加载之前找到加载的内容。如果您的脚本在要显示的元素之前加载,则javascript正在运行在渲染元素本身之前它的“就绪”函数。由于缓存,它可能会在刷新时触发。但是由于脚本无法找到它,所以其余时间都会失败