2011-06-08 82 views
11

我在jquery mobile中有一個工具欄,由一堆鏈接組成,這些鏈接在我的javascript應用程序的頂部加載「pop」模式對話框。如何在jQuery Mobile中顯示對話框

像這樣:

  • 信息
  • 凡與ID在div = 「約」 具有數據角色= 「頁面」。我想從代碼中打開相同的對話框,可能是按鈕處理程序的一部分,但我找不到任何方法來完成此操作。

    此代碼不起作用。它只顯示我的原稿頁面上的「about」頁面的元素(沒有樣式)。我該怎麼做呢?

    $("#buttAbout").click(function() { 
        $('#about').show(); 
        return false; 
    }); 
    

    回答

    22

    它看起來像jQuery手機的對話框與jQuery UI截然不同。這應該做你想要什麼:

    $.mobile.changePage('#about','pop',false,true)

    的文檔changePage是here。基本上,第一個參數是查找所需頁面的字符串(可以是元素ID,jQuery對象或頁面URL),第二個參數是頁面轉換,第三個是轉換方向(對於forwards,false爲true向後),最後一個參數是在轉換後是否希望更新頁面URL。我認爲您還需要確保data-role屬性在對話框的div上正確設置爲dialog,以確保正確的歷史記錄/樣式行爲。

    +0

    當我嘗試這個我得到的JavaScript控制檯消息:未捕獲不能在初始化之前調用對話框上的方法;試圖調用方法'打開'。 – Gerry 2011-06-09 15:43:49

    +4

    你是否已經初始化了對話框?在標準的jQuery,你需要初始化這個對話框:( 「關於#」) '$對話框()' 或本: '$( 「#約」)對話框({的AutoOpen。 :false})' 之前,你可以打開。 ('autoOpen:false'版本告訴jQuery在第一次初始化時不要打開對話框 - 這可能是你想要的行爲)。我將這段代碼放在'$(function(){....})塊中,以便在頁面加載時運行。一旦你完成了,其他地方的代碼應該能夠隨時打開和關閉。 如果這沒有幫助,我將與今晚的jQuery手機玩:) – 2011-06-09 23:38:10

    +0

    由於某種原因,這不適用於jQuery的手機。我的代碼示例對於此評論太大,但是如果我包含querymobile include,則它不起作用。與jquery-ui.js包括相反,它的作品。 – Gerry 2011-06-10 18:42:32

    相關問題