2011-04-27 50 views
0

所以我知道你可以直接做:如何將事件附加到HTML5畫布?

<canvas id="someCanvas" onmousedown="blah();"> 

<script> 
function blah() { 
dosomething(); 
} 
</script> 

我怎麼會只在代碼附加的事件?

我試圖做:

var canvas = document.getElementById("someCanvas"); 

canvas.onmousedown = function() { 
    doSomething(); 
} 

但它不工作,DoSomething的不會被調用......我究竟做錯了什麼?

+1

工作對我來說:http://jsfiddle.net/fkling/6CdrS/確保在加載DOM時執行的代碼。即要麼將一個回調附加到'body.onload',要麼將代碼放在頁面的底部(或者通常:在canvas元素之後)。同時關閉畫布元素。 – 2011-04-27 14:35:53

回答

1

嘗試使用addEventListener,因爲這樣的:

canvas.addEventListener( 「鼠標按下」, 函數(){});

https://developer.mozilla.org/en/DOM/element.addEventListener

+0

不應該有所作爲。而且你必須提到它必須是IE中的'canvas.attachEvent'。 – 2011-04-27 14:36:27

+0

爲了記錄,addEventListener在IE9中工作 – 2011-04-27 15:00:55