2011-09-26 7 views
4

나는 (IE8에 JS를 사용하여, HTML에서) 다음과 같은 간단한 코드를 시도하고있다 :프로그래밍 방식으로 javascript에서 ondblclick 이벤트를 발생시키는 방법?

<input type="image" src="pic.jpg" id="aa" ondblclick="alert('aa');"/> 
<script> 
document.getElementById('aa').dblclick(); 
</script> 

및 그 오류 얻을 : 객체 (스크립트 부분에 대한)이 속성 또는 메서드를 지원하지 않습니다. 그리고 나는 경고를 얻지 않는다.

반면 이미지를 dblclick하면 경고 메시지가 나타납니다. 그래서 실제로 이미지를 두 번 클릭하지 않고 프로그래밍 방식으로 dblclick 이벤트를 발생시키는 방법을 알고 싶습니다.

동일한 작업이 onclick (dblclick 대신)에서 잘 작동합니다. 나는 또한 단추, 입력 텍스트에 그것을 시도했다. 같은 오류.

답변

7

속성 이름은 ondblclick이지만 전화는 dblclick입니다. ondblclick으로 전화해야합니다.

<script> 
    document.getElementById('aa').ondblclick(); 
</script> 

바이올린 : MDN에서 http://jsfiddle.net/frwpY/

+0

감사합니다, 그것은 작동합니다. – user965297

0

체크 아웃 MDN이 기사에 대한 element.dispatchEvent

샘플 코드 : 당신은 또한 DOM 거품을 통해 이벤트를 추적 할 수

function simulateClick() { 
    var evt = document.createEvent("MouseEvents"); 
    evt.initMouseEvent("click", true, true, window, 
    0, 0, 0, 0, 0, false, false, false, false, 0, null); 
    var cb = document.getElementById("checkbox"); 
    var canceled = !cb.dispatchEvent(evt); 
    if(canceled) { 
    // A handler called preventDefault 
    alert("canceled"); 
    } else { 
    // None of the handlers called preventDefault 
    alert("not canceled"); 
    } 
} 

이 방법 취소되지 않았 음을 확신합니다.

2

이 시도 :

<input type="image" src="pic.jpg" id="aa" ondblclick="alert('aa');"/> 
<script> 
document.getElementById('aa').ondblclick(); 
</script> 

http://jsfiddle.net/dnUZY/1/

관련 문제