jquery – How to simulate a click by using x,y coordinates in JavaScript?-ThrowExceptions

Exception or error:

Is it possible to use given coordinates in order to simulate a click in JavaScript within a webpage?

How to solve:

You can dispatch a click event, though this is not the same as a real click. For instance, it can’t be used to trick a cross-domain iframe document into thinking it was clicked.

All modern browsers support document.elementFromPoint and HTMLElement.prototype.click(), since at least IE 6, Firefox 5, any version of Chrome and probably any version of Safari you’re likely to care about. It will even follow links and submit forms:

document.elementFromPoint(x, y).click();



Yes, you can simulate a mouse click by creating an event and dispatching it:

function click(x,y){
    var ev = document.createEvent("MouseEvent");
    var el = document.elementFromPoint(x,y);
        true /* bubble */, true /* cancelable */,
        window, null,
        x, y, 0, 0, /* coordinates */
        false, false, false, false, /* modifier keys */
        0 /*left*/, null

Beware of using the click method on an element — it is widely implemented but not standard and will fail in e.g. PhantomJS. I assume jQuery’s implemention of .click() does the right thing but have not confirmed.


This is just torazaburo’s answer, updated to use a MouseEvent object.

function click(x, y)
    var ev = new MouseEvent('click', {
        'view': window,
        'bubbles': true,
        'cancelable': true,
        'screenX': x,
        'screenY': y

    var el = document.elementFromPoint(x, y);



For security reasons, you can’t move the mouse pointer with javascript, nor simulate a click with it.

What is it that you are trying to accomplish?

Leave a Reply

Your email address will not be published. Required fields are marked *