javascript simulate mouse click on specific position

Oscar picture Oscar · May 6, 2011 · Viewed 9.4k times · Source

I need to now how to fire a mouse click event on a button automatically. I have this but doesn't work :(

window.setInterval(function() { simulateClick(); }, 2000);

function simulateClick() {
    var evt = document.createEvent("MouseEvents");
    evt.initMouseEvent("click", false, false, window, 0, 684, 571, 684, 508, false, false, false, false, 0, null);
        var a;
    a.dispatchEvent(evt);
}

Thanks in advance

Oscar

Answer

Oliver Moran picture Oliver Moran · May 6, 2011

If all you want to do is click a button, button elements have a click method that can be invoked:

<input type="button" id="theButton" onclick="javascript:alert('The button was clicked!');" value="A button" />

<script language="javascript">

setTimeout(function(){
    document.getElementById("theButton").click();
}, 1000); // wait one second then click the button

</script>

There's no need to "actually" simulate the mouse click at a specific x,y position.