使用jQuery模拟鼠标点击坐标

Using jQuery to simulate mouseclick on coordinates

本文关键字:坐标 鼠标 jQuery 模拟 使用      更新时间:2023-09-26

我试图模拟鼠标点击,在加载的特定点在画布上绘制一些东西。我正在看这篇文章,JavaScript在鼠标点击上画一个圆圈-坐标不匹配,我在这里提供的JS提琴上做实验:http://jsfiddle.net/7xQZ2/22/

当你点击画布时,原来的JS Fiddle会画圆圈。有可能模拟这个点击加载吗?例如,当页面加载时,在(200,200)处出现一个圆圈?

function simulateClick(x, y) {
    $(document.elementFromPoint(x, y)).trigger('click')
 }
simulateClick(200, 200)

提前感谢!

创建一个函数来绘制:

function draw(pageX, pageY, canvas){
  var x = pageX - canvas.offsetLeft;
  var y = pageY - canvas.offsetTop; 
  var ctx= canvas.getContext("2d");
  ctx.beginPath();
  ctx.arc(x, y, 10,0, 2*Math.PI);
  ctx.stroke();
  $('#status2').html(x +', '+ y); 
 }
然后在$("#special").click()内部和页面加载时调用该函数,同时传递正确的参数。
$("#special").click(function(e, x, y){ 
    x = x === undefined ? e.pageX - this.offsetLeft : x;
    y = y === undefined ? e.pageY - this.offsetTop : y; 
    var ctx= this.getContext("2d");
    ctx.beginPath();
    ctx.arc(x, y, 10,0, 2*Math.PI);
    ctx.stroke();
    $('#status2').html(x +', '+ y); 
}); 
function simulateClick(x, y) {
    $("#special").trigger('click', [x, y])
}
simulateClick(200, 200)
如果您已经定义了x和y值,

将通过将它们传递给click处理程序来为您完成此操作

http://jsfiddle.net/7xQZ2/23/