onCanvasClick(事件)不适用于visual studio ultimate

时间:2013-04-14 19:31:26

标签: javascript html5 canvas

我正在构建一个益智游戏。它确实可以在浏览器中运行,但我需要让它在visual studio上运行。它显示了图片和一切,但是当我点击时我得到了这个错误

0x800a1391 - JavaScript运行时错误:'onCanvasClick'未定义

我有一段代码

的prb
  <canvas id="myCanvas" width="640" height="480" onclick="onCanvasClick(event);"> 

它不接受          onCanvasClick(事件);

我无法找到让它发挥作用的方法。如果你能帮助我,我将非常感激。

2 个答案:

答案 0 :(得分:4)

试试这个:

canvas = document.getElementById("myCanvas");

// Beware, this is "click" not "onclick"
canvas.addEventListener('click', canvasClicked, false); 

function canvasClicked(e) {
    console.log("Clicked");
}

jsFiddle

上查看

答案 1 :(得分:4)

如Sam Rad所述,您应该在&lt; script&gt;中添加事件监听器。标签不是HTML中的内联。我认为原因是,你的函数是未声明的,因为它是在不同的范围内声明的。在内联HTML脚本中使用它时,它正在全局范围内查找该函数。

所以,如果你有这样的事情:

(funciton() {

    function canvasClicked( event ) {
        // ...
    }

})()

您的内联HTML脚本将失败。

只是避免使用内联HTML脚本,您将使您的生活更轻松:D