Как я могу связать событие с формой, продвинутой холст? Я предположил, что это будет работать, но я получаю ошибку.
<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>
Поместите обработчики событий на элемент холста, а затем используйте положение мыши, чтобы решить, на какой концептуальной части холста происходит событие.
Я не так много играл с canvas, но не удивлюсь, если уже существуют библиотеки, которые помогают управлять делегированием событий таким воображаемым элементам.
Похоже, вам следует использовать svg, поскольку он позволяет добавлять слушателей событий для фигур. Для начала я бы рекомендовал посмотреть raphaeljs.com.