5

看来我无法在事件“pageshow”调用的方法中打开弹出窗口。我知道我的代码没有错,因为当我单击按钮时会打开弹出窗口......并且我在 Firebug 中检查了没有错误消息。这是代码:

HTML:

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

JS:

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

有谁知道有什么特别的事情要做吗?如果您能解决我的问题,我将不胜感激:)

提前致谢 !

4

3 回答 3

6

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

您还可以尝试data-role="popup"从弹出式 DIV 中完全删除,并基本上执行以下操作:

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

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

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

于 2012-10-12T15:27:26.263 回答
0

我看你的代码没有问题。您正在为哪个平台开发?

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

于 2012-10-12T13:50:21.177 回答
0

如果你想使用 jquery mobile 作为弹出窗口,首先创建一个带有 data-rel popup 和 href 的链接,指向包含 pop 元素的容器的 id。div 应该有 data-role 弹出窗口

<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>

于 2018-07-05T22:18:05.273 回答