我正在尝试使用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
答案 0 :(得分:5)
<强>更新强>
注意: Ruby on Rails 用户阅读此comment。
一旦页面加载/显示,这是打开弹出窗口的正确方法。
$(document).on("pageshow", function() {
$('#popup-choix').popup('open');
});
在某些浏览器中,一旦页面加载,弹出窗口就不显示,因此,添加超时以打开弹出窗口是必不可少的。
$(document).on("pageshow", function() {
setTimeout(function () {
$('#popup-choix').popup('open');
}, 100); // delay above zero
});
如果您要为特定网页开启,请添加'#PageId'
代替document
。