如何创建 JQuery Mobile 第二页只调用一次函数?
Posted
技术标签:
【中文标题】如何创建 JQuery Mobile 第二页只调用一次函数?【英文标题】:How to create JQuery Mobile second page to call function only once? 【发布时间】:2019-05-26 04:08:05 【问题描述】:实际上,我希望在第一次点击到第 2 页时只调用一次函数 james(),然后在连续下一次点击到第 2 页时,我不想调用函数 james()。但每次我调用第 2 页时它都会调用。
<!doctype html>
<html class="no-js" lang="">
<head>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css">
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>
<script type="text/javascript" charset="utf-8">
var Clicked = false;
function james()
if(Clicked === false)
alert("james");
Clicked=true;
</script>
</head>
<body>
<div data-role="page" id="pagetwo" >
<a href="#pageone" onClick="james(); this.onClick=null;">Go to Page two</a>
</div>
<div data-role="page" id="pageone">
<a href="#pagetwo">Go to Page one</a>
</div>
</body>
</html>
【问题讨论】:
【参考方案1】:这可以在 jQuery Mobile 中轻松完成。
如果您只需要在页面初始化期间执行一次特定代码,您可以使用名为pagecreate 的 jQuery 移动页面事件。
该事件只会在首页初始化时触发一次。
$( document ).on( "pagecreate", "#secondPage", function( event )
alert( "This page was just enhanced by jQuery Mobile!" );
);
这是一个工作示例:http://jsfiddle.net/Gajotres/u2tw371o/
【讨论】:
【参考方案2】:兄弟只需在java脚本中全局初始化你的变量,如下所示
<script type="text/javascript" charset="utf-8">
var Clicked = false;
function james()
if(Clicked === false)
alert("james");
Clicked=true;
【讨论】:
【参考方案3】:jquery中有.one
事件绑定方法。不知道是不是你需要的。
$( "#pageone" ).one( "click", james);
james
函数只对每个元素运行一次。
参考:http://api.jquery.com/one/
【讨论】:
以上是关于如何创建 JQuery Mobile 第二页只调用一次函数?的主要内容,如果未能解决你的问题,请参考以下文章