html5 canvas要素のイベントを登録する特別な方法があるかどうか知りたいですか?html5 canvasでマウスイベントが発生していない
次のコードは、私のcanvas要素上の任意のマウスイベントは発生しません:私は、キャンバス上でクリックしたときに
function MyObject() {
this.init();
};
MyObject.prototype.init = function() {
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
var anImage = new Image('image1.png');
ctx.drawImage(anImage, 0, 0, 100, 100, 0, 0, 100, 100);
canvas.onmousedown = createDelegate(this, this.mouseDownEvent);
}
MyObject.prototype.mouseDownEvent = function(e) {
//Not even reaching this point.
}
var obj = new MyObject();
mouseDownEvent関数が呼び出されさえなっていません。誰も私にコードで何が間違っているか教えてもらえますか?
N.B.イメージタグのキャンバスをスワップアウトすると問題が解決します。 [OK]を
文書のhtml構造はわかりませんが、最も可能性の高い理由は、キャンバスがより高いzインデックスを持つ他の要素によってオーバーラップされているためです。 canvas.onmousedownは間違いなく動作し、私はそれを使用しました。 – kirilloid
あなたのコードに間違いはありませんが、あなたの問題の原因はどこかにあるはずです。参照してください:http://jsfiddle.net/9FPAB/ –
私はこれが奇妙なことを知っているが、キャンバス要素へのスタイリングを-webkit-transform:translate3d(0、0、0)を追加することで問題を修正したようだ。 。 – Draco