Jquery mobile jquerymobile-$(document).ready(function(){});

Jquery mobile jquerymobile-$(document).ready(function(){});,jquery-mobile,Jquery Mobile,我是jquery mobile的新手 我需要帮助理解jquery mobile的document.ready()的等价物 我有2个jsp页面,如下所示: 页面1.jsp <head> <script type="text/javascript"> $(document).on('pagebeforeshow', '#page1', function(event){ alert("page 1"); }); </script> </head>

我是jquery mobile的新手

我需要帮助理解jquery mobile的document.ready()的等价物

我有2个jsp页面,如下所示:

页面1.jsp

<head>
<script type="text/javascript">
$(document).on('pagebeforeshow', '#page1', function(event){
    alert("page 1");
});
</script>
</head>
<body>
<div data-role="page" id="page1">
  <header data-role="header">
  </header>
  <article data-role="content">
    page 1
  </article>
  <footer data-role="footer" data-position="fixed">
    <nav data-role="navbar">
    <ul>
      <li><a href="page2.jsp>" data-icon="arrow-r">Page 2</a></li>
    </ul>
</div>
</body>

$(文档).on('pagebeforeshow','#page1',函数(事件){
警报(“第1页”);
});


页面2.jsp

<head>
<script type="text/javascript">
$(document).on('pagebeforeshow', '#page2', function(event){
    alert("page 2");
});
</script>
</head>
<body>
<div data-role="page" id="page2">
  <header data-role="header">
  </header>
  <article data-role="content">
    page 2
  </article>
  <footer data-role="footer" data-position="fixed">
    <nav data-role="navbar">
    <ul>
      <li><a href="page1.jsp>" data-icon="arrow-l">Page 1</a></li>
    </ul>
</div>
</body>

$(文档).on('pagebeforeshow','#page2',函数(事件){
警报(“第2页”);
});


因此,当我最初加载第1页时,我将收到一个警报“第1页”。但是当我导航到第2页时,我没有收到“第2页”的警报

但在第2页,我导航回第1页,我得到一个警报“第1页”

那么,当我通过导航加载第2页时,为什么不收到“第2页”警报呢

我正在尝试学习jquery mobile,所以请解释一下,任何代码示例都会帮助我理解它

我试图通读jquery移动文档,但不理解它


谢谢大家!

您的脚本没有运行,因为从技术上讲它没有被加载。jquerymobile通过拦截链接的正常功能(即导航到新页面)来跟踪链接,并通过AJAX请求加载页面内容。如果成功,它将接受[data role=page]元素并将其添加到现有页面。结果是加载了新页面,但您从未真正离开开始的页面

在此期间,不会加载[data type=page]元素之外的任何内容,包括脚本。您可以通过将
标记移动到page2的[data role=page]元素中来解决此问题。如果您这样做,请记住,加载的任何代码都将保留为加载其他页面,并且您可能会以您从未想过的方式开始交互


另一种选择是,当点击链接时,简单地强制jQuery Mobile实际导航到新页面。查看如何做到这一点。

在这些页面上,您在哪里加载jQuery?我在jsp页面的一节中加载了它们,我找到了它。谢谢如果你已经解决了你的问题,那么你应该在这里发布你的解决方案-回答你自己的问题是可以的。没有什么比来到这个网站,看到有人解决了同样的问题,却没有找到答案更令人沮丧的了。我将所有的js脚本合并到一个js文件中,并将其加载到第一页。