I push a element to an array so loop them. How I do a following. I want to click a circle area and then alert something. I found the answer be the rectangle so how the circle do?
<canvas id="myCanvas" width="500" height="500" style="border:1px solid #d3d3d3;"></canvas>
<script>
var elements = [];
elemLeft = canvas.offsetLeft,
elemTop = canvas.offsetTop;
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
elements.push({
colour: '#112F41',
x:200,
y:240,
r:100,
sAngle:0,
eAngle:2 * Math.PI
});
elements.forEach(function(element) {
context.strokeStyle = element.colour;
context.arc(element.x, element.y, element.r, element.sAngle, element.eAngle);
context.lineWidth = 20;
context.stroke();
});
canvas.addEventListener('click', function(event) {
var x = event.pageX - elemLeft,
y = event.pageY - elemTop;
console.log(x, y);
elements.forEach(function(element) {
//??????
});
}, false);
</script>