【问题标题】:JQuery UI Dialog not opening in iPad but opening fine in BrowsersJQuery UI 对话框未在 iPad 中打开但在浏览器中打开正常
【发布时间】:2014-07-18 06:00:45
【问题描述】:

JQuery UI 对话框未在 iPad 中打开。我不确定它是否会第二次打开,因为我无法刷新页面。

这就是我正在做的事情。

    $(document).ready(function() {
                $('#dialog').dialog({autoOpen: false, resizable: false, modal: true});

                $('body').append('<div id="popup" style="overflow: hidden; padding: 5px; background-color: #ffffff;"></div>');
                $('#popup').dialog({
                        autoOpen: false, 
                        resizable: false, 
                        draggable: false, 
                        width: 720,
                        modal: true,
                        open: function(event, ui) {
                            $('.ui-dialog').css('z-index', 10001);
                            $('.ui-widget-overlay').css('z-index', 10000);
                        },
                        close: function(event, ui) { 
                            $(this).dialog('destroy').remove(); 
                        },
                        position: {
                            my: 'top',
                            at: 'top+10%',
                            of: window
                        },
                        title: "Instructions"
                    }).html('<img id="ins-image" src="images/Instructions.png" width="700" height="472"></img>').dialog('open');
)};

这是我的小提琴

http://jsfiddle.net/zNVq8/

【问题讨论】:

  • 如果您创建一个代码小提琴会很好

标签: jquery ipad jquery-ui dialog


【解决方案1】:

试试这个,我用过这个,它在浏览器和 ipad、iphone 和 android 上都能正常工作

 $("<div id='DialogPopup'></div>")
            .dialog({
                title: resetPassTitle,
                resizable: true,
                dialogClass: "no-close",
                position: { my: "center", at: "center", of: "#myTab" },
                show: {
                    effect: "scale",
                    duration: 500
                },
                hide: {
                    effect: "clip",
                    duration: 500
                },
                close: function () {
                    $(this).remove();
                },
                modal: true,
                width: ($(window).width() <= 720) ? 250 : 500
            })
        .load('/mycontroller/ResetPassword?contactID=' + id + '&userName=' + UserName + '');

【讨论】:

  • 嗨LittleDragon,只是将负载更改为.html(),但它不起作用。
  • 你应该像这样使用它 .load('')
  • 在 .load() 标签中加载你的 HTML 部分
  • 所有弹出的 HTML 部分都应该在 .load() 标记中
  • 你得到解决方案了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-22
  • 1970-01-01
相关资源
最近更新 更多