2012-10-17 91 views
0

我有一個小的web應用程序,只不過是一些HTML頁面。我希望在我的應用程序中使用jQuery UI對話框,並使其在我的Mac和PC(Sarafi,Chrome,Firefox)的瀏覽器中工作,並且我已部署到android(Xoom 2),並且一切正常,但是對話框不是當我在iPad上測試(IPad 2)時被解僱。我還注意到,在iPad上查看頁面時,包含對話框內容的DIV沒有隱藏。jQuery UI對話框()不會在iPad上打開

這裏是我的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()測試,看看如果點擊事件被提高了測試警報被執行,所以它不是一個單擊事件的問題,它是對話框本身或jQuery UI沒有被加載。

我也試圖提高這樣的對話,而沒有用DIV或事件,但即使這種關聯沒有工作

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

任何人都有使用與iPad的對話框問題?

我不知道這是否是相關但我的應用程序是一個mainHTML文件,使用.load()方法

回答

0

不好意思回答我的問題,但我在把一個檢查,看看如果UI當時正在加載中...

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

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

我想過動態追加UI腳本回到我的網頁的身體,但是我是使用jQuery UI的託管版本。當我通過下載該問題取代本地版本似乎消失時...因此,答案是託管版本加載或加載時間過長。對不起,這部電視劇...

0

以對話框創建的是$(function() { ... })塊的HTML內容帶來的。

該塊相當於一個document.ready處理程序,文檔肯定是由這點完全準備好...

+0

我已經刪除它,但它仍然無法正常工作......就好像Jquery UI沒有加載到iPad上一樣? –

+0

我已經測試過,看看用戶是否使用if(jQuery.ui)加載了UI,並且它沒有被加載... –