0

我正在开发一个移动网站并使用 jQuery。

当我加载某个页面并单击所需的按钮时,代码在我刷新页面之前不会执行。为什么是这样 ?

这就是我的方式

script.js

$(document).ready(function() 
{ 
  $("#user-save").click(
      function(e)
       {
         alert(/clickity-click/);
       });
});

page.php

<html>
   <head>
       <!-- Other jQuery files here -->
      <script src="script.js"></script>
   </head>
<body>
   <div id="user-save" data-role="button">Click me like a boss</div>
</body>
</html>
4

3 回答 3

3

JQuery Mobile 加载页面的方式与“普通”javascript 应用程序不同。您通常需要绑定到 pageinit 事件而不是 document.ready。

请参阅有关此主题的先前 SO 讨论

于 2012-09-22T02:18:42.233 回答
3

我花了几个小时在出现此问题的页面上重写代码,才意识到问题与链接/上一个页面有关。

链接/上一页上的锚标记和链接,即指向您希望确保$(document).ready(init)运行的页面的链接,必须包含data-ajax="false"如下属性:

<a href="yourpage.html" data-ajax="false"> 

这将确保 JQuery Mobile 不会期望您使用 AJAX 动态加载内容,并且您实际上是在导航到不同的/新页面。换句话说,JQuery Mobile 只有在$(document).ready()加载不同/新页面时才会运行。

于 2013-05-22T01:44:32.803 回答
0

改变这些行:

  1. <script type='text/javascript' src="script.js"></script>
  2. alert('clickity-click');
于 2012-09-22T01:37:38.307 回答