0

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

1 回答 1

0

尝试在文档底部加载 JavaScript。

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

于 2013-04-04T18:43:08.840 回答