如何使用javascript或jquery模拟x / y坐标上的点击?
我将多次使用该脚本,我希望脚本点击位置1然后位置2然后是3然后是4位。
没有移动鼠标光标会更好,但如果必须移动那么那也很好。
答案 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/