2014-04-11 2 views
0

저는 여기와 웹에서 수많은 다른 게시물을 보았습니다. 그러나 요소가 생성되기 전에 이벤트 처리기를 추가하려고 시도합니다. 내 상황이 다르다. 이벤트 핸들러 번호 호출다른 사람들이 잘 작동하면 document.getElementById가 null을 반환합니다.

<nav id="main_menu">     
      <ul>     
       <li id="liMapFilter" class="list"><img id="imgFilter" src="images/filter_icon.png">Filter</li> 
       <li id="liDiagnostics" class="list"><img id="imgTools" src="images/tools_icon.png">Administration</li>    
      </ul>   
     </nav> 

내가 페이지가로드 된 후에 설정 :

난 다음 세그먼트를 갖는 HTML 문서를 I 설정된 home.init() 함수 내

$(document).ready(function() { 
    home.init(); 
}); 

다음 수신기 :

var elmMapFilter = document.getElementById('liMapFilter"'); 
cs_core.addEvent(elmMapFilter, 'click', home.showDialogMapFilter, false); 

다른 모든 수신기 처리기는 f 그러나이 특별한 사람은 항상 null 참조를 던집니다. 이 처리기가 잘 작동하는지 이해할 수 없습니다.

var elmDiagnostics = document.getElementById('liDiagnostics'); 
cs_core.addEvent(elmDiagnostics, 'click', core.showDiagnostics, false); 

알려주세요.

+0

jQuery를 사용하고 있으므로 모든 용도로 사용하지 않고 있습니다. – adeneo

+1

맞습니다. –

+0

스크립트가 실행되는 위치는 어디입니까? HTML을 공유하십시오. –

답변

5

인쇄상의 오류가 있습니다. 이드에는 " 문자가 있습니다.

+0

그게 전부입니다. 감사합니다. 그것은 나를 미치게했습니다 !!! –

+1

+1 - 진지하게 좋은 시력! – adeneo

+0

좋은 캐치. 때로는 실행의 중단되지 않은 흐름을 위해 javascript에서 null 검사 및 정의되지 않은 검사를 수행 할 필요가 있습니다. –

관련 문제