Javascript 如何在jQuery Mobile中显示对话框
我在jQueryMobile中有一个工具栏,由一堆链接组成,它们在我的javascript应用程序顶部加载“弹出”模式对话框 像这样:Javascript 如何在jQuery Mobile中显示对话框,javascript,jquery,dialog,Javascript,Jquery,Dialog,我在jQueryMobile中有一个工具栏,由一堆链接组成,它们在我的javascript应用程序顶部加载“弹出”模式对话框 像这样: 信息 其中id=“about”的div有一个data role=“page”。我想从代码中打开相同的对话框,可能是作为按钮处理程序的一部分,但我找不到任何方法来实现这一点 此代码不起作用。它只在我当前页面的顶部透明地显示“关于”页面的元素(没有样式)。我该怎么做 $("#buttAbout").click(function () { $('#about'
$("#buttAbout").click(function () {
$('#about').show();
return false;
});
看起来jQueryMobile的对话框与jQueryUI完全不同。这应该满足您的要求:
$.mobile.changePage(“#about”,“pop”,false,true)
changePage的文档是。基本上,第一个参数是查找所需页面的字符串(可以是元素id、jQuery对象或页面URL),第二个参数是页面转换,第三个参数是转换的方向(false表示向前,true表示向后),最后一个参数是转换后是否要更新页面URL。我认为您还需要确保对话框的div上的
data role
属性正确设置为dialog
,以确保正确的历史记录/样式行为。尝试此操作时,我得到javascript控制台消息:在初始化之前,Uncaught不能调用dialog上的方法;试图调用方法“open”。是否先初始化了对话框?在标准jQuery下,您需要使用以下命令初始化对话框:$(“#关于”).dialog()
或以下命令:$(“#关于”).dialog({autoOpen:false})
,然后才能调用open。(当您第一次初始化对话框时,autoOpen:false
版本告诉jQuery不要打开它-这可能是您想要的行为)。我将此代码放在$(function(){….})
块中,以便在页面加载时运行。一旦您这样做了,其他地方的代码应该能够随时调用open和close。如果这没用,今晚我将玩一玩jquerymobile:)由于某些原因,这不适用于jquerymobile。我的代码示例对于这个注释来说太大了,但是如果我包含querymobile include,它就不起作用了。包含jquery-ui.js后,它就可以工作了。我想我已经找到了一个解决方案——我已经编辑了上面的答案。希望有帮助!Tim,changepage确实有效,但是,我对话框中的按钮不会触发按钮回调,对话框看起来有点不同。当我通过