Javascript 不希望出现弹出窗口(jquery mobile、phone gap)

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

我使用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-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");