我正在开发一个移动网站并使用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>
答案 0 :(得分:3)
JQuery Mobile加载页面的方式与“普通”javascript应用程序不同。您通常需要绑定到pageinit事件而不是document.ready。
有关此主题的信息,请参阅this previous SO discussion
答案 1 :(得分:3)
我花了几个小时在有问题的页面上重写代码,只是意识到问题与链接/上一页有关。
链接/上一页上的锚标记和链接,指向您希望确保$(document).ready(init)
运行的页面的锚标记和链接,需要包含data-ajax="false"
属性,如下所示:
<a href="yourpage.html" data-ajax="false">
这将确保JQuery Mobile不会期望您使用AJAX动态加载内容,并且您实际上正在导航到另一个/新页面。换句话说,如果JQuery Mobile加载了不同的/新页面,它将只运行$(document).ready()
。
答案 2 :(得分:0)
改变这些方面:
<script type='text/javascript' src="script.js"></script>
alert('clickity-click');