2011-01-11 5 views
0

매우 이상한 일이 발생했습니다. FF 3.6에서 나는 다음과 같은 이미지에 온로드 처리기를 추가 (아직 다른 사람을 테스트하지) :이미지로드 이벤트 핸들러의 이벤트 객체 대신 이미지 컨테이너

imgRef.addEventListener("load", activateLink, false); 

로드 이벤트가 발생이 activateLink (EVT)에 EVT의 paramater 이벤트가 아니라 ""태그 이미지가 들어 있습니다. 왜 이런거야?

function activateLink(evt) { 
    // evt turns out to be a refference to <a> tag (HTMLAnchorElement) that contains the image. 
    // Actually two of them. Both dynamically added with addElement. 
} 

다른 관련 사실을 기억했습니다. 같은 src에 여러 개의 이미지가 있는데, 모두 동일한 이벤트 핸들러 activateLink를 등록했습니다. 이것이 문제가 될 수 있습니까?

+1

나머지 코드를 게시 할 수 있습니까? – amosrivera

+0

정확한 이유가 확실하지 않습니다. evt.currentTarget을 확인하고 img obj 참조가 있는지 확인하십시오. –

+0

4000 이상 있습니다. JS 코드의 라인들로 구성되어 있습니다. 대부분이 문제와 관련이 없다고 확신합니다. 코드와 정보가 더 많이 업데이트되어 업데이트 될 것입니다. 그러나 어떤 종류의 리드가 없으면 –

답변

0

원인을 찾았는데 실제로 매개 변수로 태그를 사용하여이 메서드를 직접 호출합니다. 한 곳에서 참조를 변경하는 것을 잊어 버렸습니다. 바보 같은 자바 스크립트와 그 느슨한 유형 : 바보 같은 실수 (어리석은 실수.

관련 문제