Javascript 不希望出现弹出窗口(jquery mobile、phone gap)
我使用cordova的2.9版和jquery.mobile的1.3.2版。 我使用eclipse在平板电脑上测试我的phone gap应用程序 我动态初始化要插入弹出窗口内容的div:Javascript 不希望出现弹出窗口(jquery mobile、phone gap),javascript,android,eclipse,jquery-mobile,cordova,Javascript,Android,Eclipse,Jquery Mobile,Cordova,我使用cordova的2.9版和jquery.mobile的1.3.2版。 我使用eclipse在平板电脑上测试我的phone gap应用程序 我动态初始化要插入弹出窗口内容的div: var panelDetailArticle = $('' +'<div data-role="popup" id="popupBasic">' +'<div data-role="content" data-theme="d" class="ui-corner-bottom ui-conten
var panelDetailArticle = $(''
+'<div data-role="popup" id="popupBasic">'
+'<div data-role="content" data-theme="d" class="ui-corner-bottom ui-content" id="popupContenuBasic">'
+'</div></div>');
$(panelDetailArticle).appendTo("body").trigger('create');
请帮我个忙。如果你试着摆脱下面这行怎么办:
$('#popupBasic').trigger('create');
不管怎样,当您调用以下行时,似乎会触发“创建”:
$("#popupBasic").popup();
看
是的,在JSFIDLE中我看到了这个错误,但如果我注释掉那行,它就会消失。这是小提琴:
Omar是对的:弹出窗口需要添加到页面div中。您甚至可以使用触发器创建。这里有一把新小提琴:
或者,您可以单独“刷新”窗口小部件,而不是使用触发器(“创建”),如下所示:
$('#popupContenuBasic ul[data-role="listview"]').listview().listview('refresh');
$('#popupContenuBasic a[data-role="button"]').button().button("refresh");
这里有一个新的提琴:我还把锚按钮改成了一个按钮。实际上,您可能希望完全远离create方法。根据jQuery Mobile 1.4.0()的变更日志:
不推荐调用create来增强容器或小部件$.fn.enhanceWithin()现在将成为增强容器的方法
弹出div应添加/追加到jQuery Mobile 1.3.2中的页面div中,因此,您有两个选项:
$.mobile.activePage.append(panelDetailArticle);
或
然后,创建并打开它
$("#popup_ID").popup().trigger("create").popup("open");
$.mobile.activePage.append(panelDetailArticle);
$("#page_ID").append(panelDetailArticle);
$("#popup_ID").popup().trigger("create").popup("open");