getBoundingClientRect不是一个函数

Sam*_*Sam 6 javascript html5

我试图获取鼠标单击图像的坐标.所以我正在使用像这样的getBoundingClientRect

function showCoords(canvas, event) {
    var rect = canvas.getBoundingClientRect();
    var x = event.clientX - rect.left;
    var y = event.clientY - rect.top;
    console.log("x: " + x + " y: " + y);
}
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误"canvas.getBoundingClientRect不是一个函数"

Ser*_*nko 7

这意味着canvas变量实际上不是Canvas元素.

它可能undefined仍未初始化或错误选择.

您需要仔细检查它,event.target如果将click事件添加到canvas元素,可能会尝试使用它.