Javascript 检测画布上的单击

Javascript 检测画布上的单击,javascript,html,canvas,Javascript,Html,Canvas,在我的代码中,我有一个800*800的画布。它上面有一个网格,我发现了这个函数: function getCursorPosition(canvas, event) { var x, y; canoffset = $(canvas).offset(); x = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft - Math.floor(canof

在我的代码中,我有一个800*800的画布。它上面有一个网格,我发现了这个函数:

    function getCursorPosition(canvas, event) {
    var x, y;

    canoffset = $(canvas).offset();
    x = event.clientX + document.body.scrollLeft + 
    document.documentElement.scrollLeft - Math.floor(canoffset.left);
    y = event.clientY + document.body.scrollTop + 
    document.documentElement.scrollTop - Math.floor(canoffset.top) + 1;

    return [x,y];
}

但是,当我的画布被单击时,我将如何/在何处调用它来检测?

您不能添加事件侦听器吗

document.querySelector("canvas").addEventListener("click", e => handle(e))

其中
handle
是您的事件处理程序。

这是否有效?通常对我来说,将事件侦听器添加到querySelector元素是不起作用的,我必须获取元素节点,只是想知道。