2011-02-13 4 views
0

임베디드 사운드 오브젝트를 재생할 때 내가 포함시킨 그림이 변경되도록 스크립트를 작성하려고합니다.조치가 취해지기 전에 자바 스크립트 이벤트가 발생합니다.

function changePic() { 
document.getElementById("sound").onclick = transform(document.getElementById("pic")); 
} 

function transform (pic) { 
pic.src = ""; 
alert ("done"); 
} 

문제는 그 페이지를로드 할 때, 자바 스크립트 코드를 자동으로 I 사운드 객체 ​​(자동 시작이 false로 설정) 플레이를 클릭하지 않더라도 실행하는 것입니다. 이 문제의 원인은 누구에게 있습니까?

감사합니다.

+2

changePic()을 실행할 때, IE에서'element.addEventListener'와'element.attachEvent' 이벤트를 첨부해야합니다. – JCOC611

답변

3

당신이 onclick = transform(...)을 쓸 때, 당신은 transform를 호출하고 onclick에 결과를 할당입니다.

는이 같은 transform를 호출하는 익명 함수에 핸들러를 설정해야합니다

document.getElementById("sound").onclick = function() { 
    transform(document.getElementById("pic")); 
}; 

그러나,이 이벤트를 추가 할 잘못된 방법입니다.
element.addEventListener/element.attachEvent으로 전화하십시오. (또는 단지 jQuery를 사용하십시오.)

+0

도움을 주셔서 감사합니다! – atm

관련 문제