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

我有一个小型的网络应用程序,只不过是几个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 ……

 

Hello World

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

我也尝试提出这样的对话,而不是与DIV或事件相关联,但即使这样也行不通

 $( "
this is a test
" ).dialog()

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

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

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

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

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

 var isiPad = navigator.userAgent.match(/iPad/i) != null; if(!jQuery.ui && isiPad == true){ // do stuff... } 

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