Как создать вторую страницу JQuery Mobile для вызова функции только один раз? - PullRequest
0 голосов
/ 28 декабря 2018

На самом деле я хочу вызывать функцию james () только один раз при первом щелчке на странице 2 и при последовательном следующем щелчке на 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>

Ответы [ 3 ]

0 голосов
/ 28 декабря 2018

В jquery есть .one метод привязки событий.Не знаю, нужно ли вам это.

$( "#pageone" ).one( "click", james);

Функция james запускается только ОДИН РАЗ для каждого элемента.

Ссылка: http://api.jquery.com/one/

0 голосов
/ 04 января 2019

Это легко сделать в jQuery Mobile.

Если вам нужно выполнить определенный код только один раз во время инициализации страницы, вы можете использовать событие jQuery для мобильной страницы, которое называется pagecreate .

Это событие будет срабатывать только один раз во время инициализации первой страницы.

$( document ).on( "pagecreate", "#secondPage", function( event ) {
  alert( "This page was just enhanced by jQuery Mobile!" );
});

И вот рабочий пример: http://jsfiddle.net/Gajotres/u2tw371o/

0 голосов
/ 28 декабря 2018

брат просто инициализируйте вашу переменную globaly в java-скрипте, как показано ниже

<script type="text/javascript" charset="utf-8">
   var Clicked = false;
           function james() {
              if(Clicked === false){

                    alert("james");
              }
            Clicked=true;      
         }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...