<canvas id="MyCanvas" width="800" height="600"></canvas>
Run Code Online (Sandbox Code Playgroud)
我想模拟某个位置的点击(例如 x=200,y=150)。
var MyCanvas = document.getElementById('MyCanvas');
MyCanvas.click(200, 150);
Run Code Online (Sandbox Code Playgroud)
上面的代码不起作用。与下面稍加修改的相同:
var MyCanvas = document.getElementById('MyCanvas');
MyCanvas.click({pageX: 200, pageY: 150});
Run Code Online (Sandbox Code Playgroud)
...并使用从使用 javascript 模拟单击 x/y 坐标复制的以下代码。
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);
}
simulateClick(200, 150);
Run Code Online (Sandbox Code Playgroud)
下面是基于上面代码的代码,但这也不起作用。
function simulateClick(x, y){
document.elementFromPoint(x, y).click();
}
simulateClick(200, 150);
Run Code Online (Sandbox Code Playgroud)
最后一个代码也不会触发点击。
function simulateClick(targetCanvas, x, y) {
var clickEvent = new MouseEvent(
"click",
{ …Run Code Online (Sandbox Code Playgroud)