使用javascript在x / y坐标处模拟单击

时间:2012-04-24 20:24:25

标签: javascript jquery click simulate

如何使用javascript或jquery模拟x / y坐标上的点击?

我将多次使用该脚本,我希望脚本点击位置1然后位置2然后是3然后是4位。

没有移动鼠标光标会更好,但如果必须移动那么那也很好。

2 个答案:

答案 0 :(得分:18)

这实际上可以使用document.elementFromPoint方法完成。一个jQuery示例:

function simulateClick(x, y) {
    jQuery(document.elementFromPoint(x, y)).click();
}
simulateClick(100, 250);
simulateClick(400, 250);

修改:以下是一个有效的示例:http://jsfiddle.net/z5YjY/

答案 1 :(得分:4)

第二次,我会分享我的经验,并更新Prestaul的答案。

在大多数情况下,你不只是想点击一个元素来引发'onclick'事件,但你想使用点击信息来做某事(例如:在那里移动一个滑块,或者弹出一个弹出窗口)在那个确切的地方)。

我主要使用香草js,但它与$。混合良好。

function simulateClick(x, y) {
    var clickEvent= document.createEvent('MouseEvents');
    clickEvent.initMouseEvent(
    'click', true, true, window, 0,
    0, 0, x, y, false, false,
    false, false, 0, null
    );
    document.elementFromPoint(x, y).dispatchEvent(clickEvent);
}

基本上,这将通过事件向下传递正确的pageX / pageY,以供进一步使用。

我也更新了小提琴,以显示这些坐标的用法: http://jsfiddle.net/V4CdC/