使用Rails加载页面时的jQuery Mobile弹出窗口

时间:2013-04-01 02:23:48

标签: javascript ruby-on-rails jquery-mobile

我正在尝试使用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然后......


更新

我将Javascript放在popup.js中,然后使用application.js清单调用。

更新2

我在popup.js中编写了javascript,并使用manifest调用它。

1 个答案:

答案 0 :(得分: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