2013-04-01 156 views
1

我想打開彈出頁面加載使用jQuery Mobile和Rails。jQuery Mobile彈出頁面加載Rails

彈出窗口可以用鏈接打開,但是我不能在加載時打開它。

HTML代碼

<div data-role="popup" id="popup-choix" data-history="false" data-overlay-theme="a" data-transition="flow" data-position-to="window"> 
    <ul>...</ul> 
</div> 

Javascript代碼

$(document).on("pageshow", function() { 
    $('#popup-choix').popup('open'); 
}); 

我檢查與Chrome和JavaScript是正確鏈接到頁面。

我在頁面上有一個鏈接來打開彈出窗口。它完美的作品。

<div class="div-popup"><a href="#popup-choix" data-rel="popup">...</a></div> 

我想這個問題是我的javascript然後...


UPDATE

我把Javascript語言,popup.js,然後將其與application.js清單調用。

更新2

我寫的JavaScript在popup.js並與manifest調用它。

+0

可否請您發佈您的代碼,以及如何調用它? – Omar

+0

我添加了一個鏈接到我的整個項目。 –

+0

我檢查一下。只要幫我一個忙,在代碼中添加_console.log_你想要觸發彈出窗口並查看它是否觸發。 – Omar

回答

5

更新

注:Ruby on Rails的用戶閱讀本comment

這是在頁面加載/顯示後打開彈出窗口的正確方法。

$(document).on("pageshow", function() { 
$('#popup-choix').popup('open'); 
}); 

在某些瀏覽器,彈出窗口不顯示一旦頁面加載,因此,增加超時打開彈出是必不可少的。

Source

$(document).on("pageshow", function() { 
setTimeout(function() { 
    $('#popup-choix').popup('open'); 
}, 100); // delay above zero 
}); 

如果你想打開一個特定的頁面,添加'#PageId'而不是document

+0

您的解決方案適用於jsFiddle,但我無法使其與我的項目一起工作......您是否有任何可能導致問題的想法? –

+0

@JustinD。你如何在你的代碼中調用它?你能發表更多細節嗎? – Omar

+0

我更新了我的第一篇文章以添加更多詳細信息。 –