以下は、私は私のオブジェクトでのEventListenerを追加したときに私のコードです:は使用してオブジェクトに機能を使用することはできません。この
this.canvas.addEventListener('mousemove', function (e) {
var canv = document.getElementById("some");
myGameArea.x = (e.clientX - canv.getBoundingClientRect().left);//Look at canv
myGameArea.y = (e.clientY - canv.getBoundingClientRect().top);//Look at canv
});
それは動作しますが、私はその後、私のcanvas要素を見つけるとするgetElementByIdをを使用する場合にのみ使用しますcanv私のニーズに応えます。しかし、私はこれを行う場合:すべての
this.canvas.addEventListener('mousemove', function (e) {
var canv = document.getElementById("some");
myGameArea.x = (e.clientX - this.canvas.getBoundingClientRect().left);//Look at this.canvas
myGameArea.y = (e.clientY - this.canvas.getBoundingClientRect().top);//Look at this.canvas
});
その後myGameArea doesntの変更をして、私のデバッガはこのことを伝えます: "キャッチされない例外TypeErrorを:。HTMLCanvasElementで未定義のプロパティ 'getBoundingClientRect' を読み取ることができません"。私はコードのこの部分の前に私のオブジェクトにキャンバスを宣言し、私はthis.canvasを他の多くの関数に使用しました。だから私の問題はどこですか?
ありがとう!それを感謝します! –
@ZaharZagrava嬉しいです。それがあなたを助けたならば、答えは[受け入れられる](https://meta.stackexchange.com/a/5235)としてください。 – stybl