簡體   English   中英

jQuery-Mobile pagecontainerbeforechange不會觸發

[英]jQuery-Mobile pagecontainerbeforechange does not fire

我正在處理單頁應用程序。 我需要jQuery-Mobile的pagecontainerbeforechange事件,因為我想檢查我的站點包裝程序是否具有“ show-nav ”類。 當站點包裝程序具有此類時,將打開站點菜單,並將內容向左移動350px。 因此,如果用戶現在單擊注冊,並且在打開站點菜單之前,我的注冊頁面已被移開,並且由於該注冊頁面上沒有站點菜單,因此無法取回它。

首先,我嘗試使用pagecontainerload事件,直到看到不推薦使用的事件為止。 然后我將其更改為pagecontainerloadbeforechange事件,但我無法使其正常工作。

我要檢查類“ .show-nav ”的頁面具有ID #registration

因此,用戶位於主站點上,他單擊“注冊”,並且在頁面更改之前,應刪除類“ .show-nav ”。 刪除類的功能已經設置好了,但是我不知道如何正確調用它。

    function toggleNav() {
        if ($('.site-wrapper').hasClass('show-nav')) {
            // Do things on Nav Close
            $('.site-wrapper').removeClass('show-nav');
        }

更詳細的說明->

當我寫了這個詳細的說明時,我得到了解決方案,它是如此簡單,以至於讓我感到尷尬:從站點#registration中刪除了站點包裝程序……僅此而已。

感謝您的幫助,也感謝您編輯omar!

您可以將toggleClass添加到.site-wrapper。 如果它具有.show-nav類,它將刪除它,否則它將添加該類:)

$('.site-wrapper').toggleClass('show-nav');

pagecontainerbeforechangePagecontainer小部件的一部分。

此刻(jqm 1.4.x),此小部件被設計為與主體元素綁定的singlton。 因此,如果要檢測頁面更改,應使用上面的代碼:

$( "body" ).on( "pagecontainerbeforechange", function( event, ui ) {
    console.log(event);
    console.log(ui);
} );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM