在Jquery-Mobile的pageshow上打开一个弹出窗口

时间:2012-10-12 12:21:43

标签: jquery-mobile popup

似乎我无法在使用事件" pageshow"调用的方法中打开弹出窗口。我知道我的代码没有错,因为当我点击按钮时弹出窗口打开了...我在Firebug中检查了没有错误消息。这是代码:

HTML:

<div data-role="popup" id="myPopup">
    ... my elements
</div>

JS:

$('#p_guarantee').live('pageshow', function(){
    $('#myPopup').popup('open');
});

有人知道是否有特别的事要做?如果你能解决我的问题我会很感激:)

提前致谢!

3 个答案:

答案 0 :(得分:6)

按照我们在评论中的讨论,您可以在setTimeout()事件触发后使用pageChange函数解决此问题。我怀疑这可能是因为页面首先被渲染和改进,只有在此之后,具有特殊含义的元素(如弹出窗口)才能使它们的事件受到限制。

你也可以尝试从弹出式DIV中完全删除data-role="popup",基本上这样做:

<div id="myPopup">
    ... my elements
</div>

$('#p_guarantee').live('pagechange', function(){
    $('#myPopup').popup();
    $('#myPopup').popup('open');
});

...看看它是否适合你。

答案 1 :(得分:0)

我发现您的代码没有任何问题。您正在开发哪个平台?

尝试使用此示例中的代码:http://jsfiddle.net/hhejq/1/

答案 2 :(得分:0)

如果要使用jquery mobile作为弹出窗口 首先使用data-rel popup创建一个链接,href指向包含pop元素的容器的ID。 div应该弹出数据角色

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
example
<a href="#pop" data-rel="popup>click me</a>
<div data-role="popup" id="pop">
... pop up elements go here ...
</div>