似乎我无法在使用事件" pageshow"调用的方法中打开弹出窗口。我知道我的代码没有错,因为当我点击按钮时弹出窗口打开了...我在Firebug中检查了没有错误消息。这是代码:
HTML:
<div data-role="popup" id="myPopup">
... my elements
</div>
JS:
$('#p_guarantee').live('pageshow', function(){
$('#myPopup').popup('open');
});
有人知道是否有特别的事要做?如果你能解决我的问题我会很感激:)
提前致谢!
答案 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>