jQuery Mobile - 页面转换事件

描述

当我们使用以下事件类型从一个页面转换到另一个页面时触发 −

  • pagebeforeshow 事件在过渡动画开始前触发"toPage"时触发。

  • pageshow 事件在过渡动画发生后触发"toPage"时触发。

  • pagebeforehide 事件在过渡动画开始前触发"fromPage"时触发。

  • pagehide 事件在过渡动画发生后触发"fromPage"时触发。


示例

以下示例描述了在 jQuery Mobile 框架中使用页面转换事件

<!DOCTYPE html>
   <head>
      <title>Page Transition Events</title>
      <meta name = "viewport" content = "width = device-width, initial-scale = 1">
      <link rel = "stylesheet" href = "https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
      <script src = "https://code.jquery.com/jquery-1.11.3.min.js"></script>
      <script src = "https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
      <script>
         $(document).on("pagebeforeshow","#page2",function() {
            alert("The pagebeforeshow event has been fired and second page is yet to be shown.");
         });
         
         $(document).on("pageshow","#page2",function() {
            alert("The pageshow event has been fired and second page is displaying now.");
         });
         
         $(document).on("pagebeforehide","#page2",function() {
            alert("The pagebeforehide event has been fired and second page is going to be hide now.");
         });
         
         $(document).on("pagehide","#page2",function() {
            alert("The pagehide event has been fired and second page is hidden now.");
         });
      </script>
   </head>
   
   <body>
      <div data-role = "page" id = "page1">
         <div data-role = "header">
            <h2>Header</h2>
         </div>

         <div data-role = "main" class = "ui-content">
            <p>This is first page</p>
            <a href = "#page2">Page Two</a>
         </div>

         <div data-role = "footer">
            <h2>Footer</h2>
         </div>
      </div>

      <div data-role = "page" id = "page2">
         <div data-role = "header">
            <h2>Header</h2>
         </div>

         <div data-role = "main" class = "ui-content">
            <p>This is second page</p>
            <a href = "#page1">Page One</a>
         </div>

         <div data-role = "footer">
            <h2>Footer</h2>
         </div>
      
      </div>
   </body>
</html>

输出

让我们执行以下步骤,看看上面的代码是如何工作的 −

  • 将上述 html 代码保存为服务器根文件夹中的 jqm_page_transition_event.html 文件。

  • 将此 HTML 文件打开为 http://localhost/jqm_page_transition_events.html,将显示以下输出。

❮ jQuery Mobile - 事件