如何在jQuery Mobile中显示一个对话框

Ger*_*rry 11 javascript jquery dialog

我在jquery mobile中有一个工具栏,由一堆链接组成,它在我的javascript应用程序之上加载"pop"模式对话框.

像这样:

  • 信息
  • 其中id ="about"的div具有data-role ="page".我想从代码中打开相同的对话框,也许是作为按钮处理程序的一部分,但我找不到任何方法来执行此操作.

    此代码不起作用.它只在我的当前页面上透明地显示"关于"页面的元素(没有样式).我该怎么做呢?

    $("#buttAbout").click(function () {
        $('#about').show();
        return false;
    });
    
    Run Code Online (Sandbox Code Playgroud)

    Tim*_*nes 22

    看起来jQuery mobile的对话框与jQuery UI完全不同.这应该做你想要的:

    $.mobile.changePage('#about','pop',false,true)

    changePage的文档在这里.基本上,第一个参数是用于查找所需页面的字符串(可以是元素id,jQuery对象或页面URL),第二个参数是页面转换,第三个是转换的方向(false表示转发,true,true对于倒退),最后一个参数是您是否希望在转换后更新页面URL.我认为你还需要确保在对话框的div上data-role正确设置属性dialog,以确保正确的历史/样式行为.

    • 您是否先初始化对话框?在标准的jQuery下,你需要初始化对话框:`$("#about").dialog()`或者这个:`$("#about").dialog({autoOpen:false})`之前你可以打开电话.(`autoOpen:false`版本告诉jQuery在你第一次初始化它时不要打开对话框 - 这可能是你想要的行为).我将此代码放在`$(function(){....})`块中,以便它在页面加载时运行.完成后,其他地方的代码应该能够随时调用open和close.如果这没有帮助,今晚我将玩jQuery手机:) (4认同)