2012-01-16 48 views
0

我編程方式打開一個對話框,這段代碼:開幕編程對話框導致pageInit事件激發

$.mobile.changePage('#about', { 
    transition: 'pop', 
    changeHash: false 
}); 

#about塊是在同一頁上:

<div id="about" data-role="dialog"> 
    <!-- --> 
</div> 

但每次我這樣做,pageInit事件被調用,這是一個非常不受歡迎的行爲。

有沒有解決這個辦法嗎?

+0

我相信這是默認行爲,因爲jQM將對話視爲頁面。即使這還不支持,你可以嘗試http://filamentgroup.com/tests/popup/docs/pages/popup/index.html這是在博客http://jquerymobile.com/blog/2012/01上公佈的/ 10 /即將發佈版-1-0-1-1-1和超越/ – 2012-01-16 20:38:49

回答

0

我不知道你"which is a very unwanted behavior"的意思,但如果你想只有一次對話運行代碼,然後添加一個檢查,看它是否已初始化尚未:

$(document).delegate('#about', 'pageinit', function() { 
    if ($(this).hasClass('ui-dialog') === false) { 
     //code in here will only run once per page load/refresh 
    } 
}); 

jQuery Mobile的添加類對於它初始化的每個小部件,您可以檢查這些類的小部件以測試它們是否已初始化。

相關問題