2011-07-06 66 views
0

我嘗試在外部js文件上調用它時訪問我的對話框時出現問題,但當我直接在頁面內調用它時,它工作正常。我的選擇器有沒有問題,它無法找到假設爲我的對話框的div元素的ID?這裏是外部js文件中的代碼。調用外部js文件時不顯示對話框

$(document).ready(function() { 
     var hitlistDoc = parent.document.getElementById("hitlist").contentDocument; 
     var links=hitlistDoc.getElementsByName('linkComment'); 
     var i=0; 


     $(links).each(function(){ 
      links[i].href='#'; 

       $(links[i]).click(function() { 

        $('#dialog').dialog({modal: true, position: [902, 345], width: 400 }); 
        $('#dialog').dialog('open'); 

       }); 
      i++;  
     }); 

    }); 
+0

可能是您加載腳本的順序。jQuery和jQuery UI是否在外部之前加載? – Alex

+0

是的,我按照順序。順序是include/jquery-ui.css,include/jquery-1.6.1.js,include/jquery-ui-1.8.13.custom.min.js然後include/js/util.js – karagikoy

回答

0

您可能會誤解它。你的js包含應該是這樣的

<script src="path/to/jquery.js"></script> 
<script src="path/to/jqueryUI.js"></script> 
<script src="path/to/your/external/file.js"></script> 

請注意,順序是至關重要的。

希望這會有所幫助。乾杯

+0

'code'<鏈接href =「assets/css/jquery-ui.css」rel =「stylesheet」type =「text/css」/> <腳本src =「include/js/jquery-ui-1.8.13.custom.min.js」> 掃描代碼我確定我遵循這個命令。 – karagikoy

0

什麼是父母?它可以訪問嗎?
如果它在另一個匿名函數中聲明爲var,則無法訪問它,請嘗試取下「var」以使其成爲全局函數。

在控制檯中是否有任何錯誤?

+0

是的,它是可以訪問的,實際上如果我省略了對話框部分並將它替換爲警告框,當我點擊鏈接時,它實際上會彈出。 – karagikoy

+0

我只是想澄清,父母是一個框架,然後src是要加載的頁面。 ,我在hitlist2.asp頁面中放置了一個按鈕,並將這個$('#buttonsample').val('change if link click')放入上面的腳本,當我點擊鏈接按鈕改變它的值,所以我想我確定我可以通過該頁面中的id訪問元素,我只是想知道爲什麼如果我調用對話框命令什麼也沒有發生,沒有對話框彈出。 – karagikoy