[英]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');
pagecontainerbeforechange是Pagecontainer小部件的一部分。
此刻(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.