2011-07-06 5 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이며 다음을 포함합니다./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'< 코드 스캔 나는 그 명령을 따를 것이라고 확신한다. – karagikoy

0

학부모 란 무엇인가요? 접근 할 수 있습니까?
다른 익명 함수 내에서 var로 선언 된 경우 액세스 할 수 없으므로 "var"를 제거하여 전역 변수로 만듭니다.

콘솔에 오류가 있습니까?

+0

예, 실제로 액세스 할 수 있습니다. 대화 상자 부분을 생략하고 경고 상자로 바꾸면 실제로 링크를 클릭 할 때 팝업됩니다. – karagikoy

+0

난 그냥 명확하게하고 싶어, 부모는 프레임입니다 다음 src는로드 할 페이지입니다. , hitlist2.asp 페이지 안에 버튼을 놓고이 $ ('# buttonsample')을 넣으십시오. 위의 스크립트 및 링크를 클릭하면 버튼의 값이 변경되므로 해당 페이지의 ID로 요소에 액세스 할 수 있다고 생각합니다. 대화 상자를 호출하면 아무 일도 일어나지 않고 대화 상자가 표시되지 않습니다. 팝업. – karagikoy

관련 문제