[英]jQuery Mobile popup on page load with Rails
I am trying to open a popup on page load using jQuery Mobile and Rails. 我试图使用jQuery Mobile和Rails在页面加载时打开一个弹出窗口。
The popup can be opened with a link, but I can't make it open on load. 可以使用链接打开弹出窗口,但我无法在加载时打开它。
HTML code 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 code Javascript代码
$(document).on("pageshow", function() {
$('#popup-choix').popup('open');
});
I checked with Chrome and the Javascript is correctly linked to the page. 我查看了Chrome,并且Javascript正确链接到该页面。
I have a link on the page to open the popup. 我在页面上有一个链接打开弹出窗口。 It works perfectly.
它完美地运作。
<div class="div-popup"><a href="#popup-choix" data-rel="popup">...</a></div>
I guess the problem is with my Javascript then... 我猜问题是我的Javascript然后......
UPDATE UPDATE
I placed the Javascript in popup.js
, which is then called with the application.js
manifest. 我将Javascript放在
popup.js
,然后使用application.js
清单调用它。
UPDATE 2 更新2
I wrote the javascript in popup.js and call it with the manifest . 我在popup.js中编写了javascript并使用清单调用它。
Updated 更新
Note: for Ruby on Rails users read this comment .
注意:对于Ruby on Rails,用户阅读此评论 。
This is the correct way to open a popup, once page loads/shows. 一旦页面加载/显示,这是打开弹出窗口的正确方法。
$(document).on("pageshow", function() {
$('#popup-choix').popup('open');
});
In some browsers, popup doesn't show once the page loads, therefore, adding timeout to open the popup is essential. 在某些浏览器中,一旦页面加载,弹出窗口就不显示,因此,添加超时以打开弹出窗口是必不可少的。
$(document).on("pageshow", function() {
setTimeout(function () {
$('#popup-choix').popup('open');
}, 100); // delay above zero
});
If you want to open for a specific page, add '#PageId'
instead of document
. 如果要为特定页面打开,请添加
'#PageId'
而不是document
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.