好的,所以你不能通过编程来传递一个点击事件,并且有x和y坐标(如我所附的提琴所示)。
您可以定义全局变量,在单击div时存储x和y坐标。然后在画布上触发单击,如下所示:
var div = document.querySelector('#theDiv')
var canvas = document.querySelector('#theCanvas')
var x = 0;
var y = 0;
div.addEventListener('click', function(event) {
console.log('div clicked', event); // event.clientX and event.clientY have correct values
x = event.clientX;
y = event.clientY;
canvas.click();
});
canvas.addEventListener('click', function(event) {
console.log('canvas clicked', x, y, event); // event.clientX and event.clientY are both 0
})
这是小提琴,在这里你可以看到它的动作(我添加了一些风格来区分div和canvas)
https://jsfiddle.net/m1n4xave/10/