jQuery UI对话框()无法在iPad上打开

时间:2012-10-17 09:47:07

标签: jquery ipad jquery-ui

我有一个小型网页应用,只不过是几个HTML网页。我希望在我的应用程序中使用jQuery UI对话框,我在Mac和PC(Sarafi,Chrome,Firefox)上的浏览器中工作,我已部署到android(Xoom 2),但一切都很好,但对话框不是我在iPad(IPad 2)上测试时被解雇了。我还注意到,在iPad上查看页面时,不会隐藏包含对话框内容的DIV。

这是我的JS代码......

$('#entry_level_phones .boxHolder').live("click", function(){

    var clickedItem = $(this).find("img")[0].id;

    console.log(clickedItem);
    // raise a modal...
    $(function() {
        $( "#dialog-modal" ).dialog({
            modal: true,
            draggable:false,
            height:600,
            position:"center",
            resizable:false,
            width:1000
        });

   // more happens here which isn't important... but there is no conflict or error
  });
});

这是相关的DIV ......

<div id="dialog-modal" title="">
    <p>Hello World</p>
</div>

通过放置alert()进行测试以查看是否正在引发click事件,执行测试警报,因此它不是click事件的问题,它是对话框本身或jQuery UI不是被装载。

我也试图像这样举起一个对话,而不是与DIV或事件相关联,但即使这样也不起作用

$( "<div>this is a test</div>" ).dialog()

有没有其他人在使用iPad对话框时遇到问题?

我不确定这是否相关,但我的应用程序是一个使用.load()方法引入HTML内容的mainHTML文件

2 个答案:

答案 0 :(得分:0)

$(function() { ... })块中创建对话框。

该块相当于document.ready处理程序,此时您的文档肯定已完全准备就绪......

答案 1 :(得分:0)

很抱歉回答我自己的问题,但我检查了UI是否正在加载......

var isiPad = navigator.userAgent.match(/iPad/i) != null;

if(!jQuery.ui && isiPad == true){
    // do stuff...
    }

我考虑过动态地将UI脚本附加到我的网页正文中,但是我使用的是jQuery UI的托管版本。当我通过下载替换本地版本的问题似乎消失了...因此答案是托管版本加载太长时间或根本没有加载。对不起戏剧...