将事件绑定到画布上

Ben*_*ock 5 javascript html5 canvas

如何将事件绑定到画布上绘制的形状?我认为这会起作用但我得到一个错误.

<html>
    <head>
    <script type="application/javascript">
    function draw() {   
        var canvas = document.getElementById("canvas");
        var ctx = canvas.getContext("2d");      
        ctx.fillStyle = "rgb(200,0,0)";
        var rec = ctx.fillRect (0, 0, 55, 50);

        rec.onclick = function(){
            alert('something');
        }
    }
    </script>
    </head>
    <body onLoad="draw()">
        <canvas id="canvas" width="300" height="300"></canvas>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

goa*_*oat 4

将事件处理程序放在画布元素上,然后使用鼠标位置来确定事件发生在画布的哪个概念部分上。

我没有太多地使用画布,但如果已经有一些库可以帮助您管理对此类虚构元素的事件委托,我不会感到惊讶。