【问题标题】:How to create JQuery Mobile second page to call function only once?如何创建 JQuery Mobile 第二页只调用一次函数?
【发布时间】: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>

【问题讨论】:

    标签: javascript jquery jquery-mobile


    【解决方案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/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-05-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多