如何创建 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 第二页只调用一次函数?的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Mobile 页面刷新机制

jquery mobile - 动态页面传输之间的延迟

在AJAX jQuery Mobile之后打开其他页面

Jquery Mobile 持久页脚 - 更改所有页面上的内容

jquery数据表在第二页不起作用

如何使用localstorage / ajax jquery从第一页到第二页获取单选按钮值