javascript - JQuery $(document).ready(function () 不工作

标签 javascript jquery html jquery-mobile

这是我尝试打开 detail.html 的第一个页面;

<a href="detail.html" data-role="none" role="link">
    <div class="place">name</div>
    <div class="arrow"></div>
    <div class="ammount">-&euro;4,<span class="fontsize14">25</span></div>
</a>

我在 detail.html 上加载脚本时遇到问题(在第一页上单击 href 链接后)

这是我在 details.html 标题中的脚本(在第一页上单击 href 后我进入的页面),问题是我不能NOT 获取控制台测试打印,该函数未被调用加载 details.html 页面时。只有在我手动刷新页面后才会命中

<script>
    $(document).bind("pageinit", function(){//or $(document).ready(function ()   
          console.log('test');
    });
</script>

最佳答案

要了解您的问题,我认为您首先需要了解 jQuery Mobile 如何“加载”外部页面。默认情况下,当您单击指向单独的 HTML 页面的链接时,JQM 加载该页面上的第一个 data-role="page" 并将其附加到第一页的 DOM,这就是 JQM 加载该页面 div,而不加载该容器之外的任何脚本等。

如果你想为第二页运行代码,你要么需要在你的第一页上包含该脚本并使用事件委托(delegate)(因为第二页还不是 DOM 的一部分),要么将脚本包含在第二页的date-role="page" 包装器。

例如,如果您想为详细信息页面运行代码,您需要在第一页上包含脚本,例如假设您的 detail.html 页面上有一个 div,如下所示

<div id="details" data-role="page"> ..rest of your content 
</div>

然后在您的第一页上您可以执行以下操作

$(document).on('pageinit', '#details', function() {
  console.log('test');
});

或者您可以在“详细信息”页面包装器中包含一个脚本标记。

编辑:
正如我提到的,这是默认行为,但是如果您愿意,可以 tell jQuery Mobile例如,通过在链接中添加 data-ajax="false"rel="external"

来在加载第二页时发布完整的帖子

<a href="detail.html" data-ajax="false" data-role="none" role="link">
    <div class="place">name</div>
    <div class="arrow"></div>
    <div class="ammount">-&euro;4,<span class="fontsize14">25</span></div>
</a>

data-rel="external"data-ajax="false" 之间的区别在于,如果第二页在 data-如果第二个页面位于不同的域中,则应使用 rel="external"

关于javascript - JQuery $(document).ready(function () 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14379082/

相关文章:

javascript - JQuery - 事件绑定(bind)和缓存元素

javascript - 我如何在 javascript 中将 0.099 转换为 0.1

javascript - jQuery 转换无法正常工作

jquery - jqgrid 中类似于 Excel 的过滤

javascript - 用另一个 Div 中的文本替换 Div 中的文本

javascript - 将 req.body 属性移动到模型对象的有效方法

javascript - jQuery 弹出窗口,将其更改为在框架或 ajax 中加载页面

javascript - 在 AngularJS 中放置 $.draggable() 后,如何从模型中删除?

javascript - 动态更改图标

javascript - Chrome 扩展程序 : How to send html form data to a php page upon button being clicked which redirects to said php page