현재 나는.
<script type="text/javascript">
function simulateClick(control)
{
if (document.all)
{
control.click();
}
else
{
var evObj = document.createEvent('MouseEvents');
evObj.initMouseEvent('click', true, true, window, 1, 12, 345, 7, 220, false, false, true, false, 0, null );
control.dispatchEvent(evObj);
}
}
</script>
<a href="http://www.google.com" id="mytest1">test 1</a><br>
<script type="text/javascript">
simulateClick(document.getElementById('mytest1'));
</script>
그러나 it& # 39 의 작동안함: (
아무 생각 없어?
function eventFire(el, etype){
if (el.fireEvent) {
el.fireEvent('on' + etype);
} else {
var evObj = document.createEvent('Events');
evObj.initEvent(etype, true, false);
el.dispatchEvent(evObj);
}
}
사용법:
eventFire(document.getElementById('mytest1'), 'click');
다음과 같은 단순한 사안이 어떨까요?
document.getElementById('elementID').click();
[대상] (https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click) IE 가 있다.
var elem = document.getElementById('mytest1');
// Simulate clicking on the specified element.
triggerEvent( elem, 'click' );
/**
* Trigger the specified event on the specified element.
* @param {Object} elem the target element.
* @param {String} event the type of the event (e.g. 'click').
*/
function triggerEvent( elem, event ) {
var clickEvent = new Event( event ); // Create the event.
elem.dispatchEvent( clickEvent ); // Dispatch the event.
}
상위 대답은 'the best! 그러나 이 것은 레이프 = & # 39, Firefox 에서 마우스 이벤트를 트리거하는 가져다줄래요 때 ',' # 39 click&.
그래서 '& # 39', '로 바꾼' 도쿠망스크리티벤트 MouseEvents& # 39, 그리고 그 문제가 해결되었습니다. 추가 코드는 여부를 테스트하려면 다소 다른 코드는 방해할 수 있는 취소되었을 경우, 이벤트 로그 꼭 이래야겠어요 콘솔이군요.
function eventFire(el, etype){
if (el.fireEvent) {
el.fireEvent('on' + etype);
} else {
var evObj = document.createEvent('MouseEvents');
evObj.initEvent(etype, true, false);
var canceled = !el.dispatchEvent(evObj);
if (canceled) {
// A handler called preventDefault.
console.log("automatic click canceled");
} else {
// None of the handlers called preventDefault.
}
}
}