如何在 HTML5 畫布元素中新增簡單的 onClick 事件處理程式?
畫布元素中繪製的元素沒有表示形式。它們唯一的表示形式是它們使用的畫素及其顏色。繪製到一個畫布元素意味著以立即模式繪製點陣圖。要獲得畫布元素(形狀)上的點選事件,你需要捕獲畫布 HTML 元素上的點選事件並確定點選的是哪個元素。這需要儲存元素的寬度和高度。
若要向畫布元素新增點選事件,請使用以下給出的程式碼
canvas.addEventListener('click', function() { }, false);示例
若要確定單擊了哪個元素,請使用以下程式碼片段 -
var e = document.getElementById('myCanvas'),
elemLeft = e.offsetLeft,
elemTop = e.offsetTop,
context = e.getContext('2d'),
elements = [];
// event listener for click event
e.addEventListener('click', function(event) {
var xVal = event.pageX - elemLeft,
yVal = event.pageY - elemTop;
console.log(xVal, yVal);
elements.forEach(function(ele) {
if (yVal > ele.top && yVal < ele.top + ele.height && xVal > ele.left && xVal < ele.left + ele.width) {
alert(‘element clicked');
}
});
}, false);
elements.push({
colour: '#1C2128’,
width: 250,
height: 200,
top: 30,
left: 20
});
elements.forEach(function(ele) {
context.fillStyle = element.colour;
context.fillRect(ele.left, ele.top, ele.width, ele.height);
});
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP