다음은 내 객체의 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
});
그것은 작동하지만 난 후 내 캔버스 요소를 발견하고에서 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 나던 변화를 내 디버거이 말한다 : "catch되지 않은 형식 오류를 :. HTMLCanvasElement에서 정의되지 않은 재산 'getBoundingClientRect'을 읽을 수 없습니다". 이 코드 부분 전에 캔버스를 객체에 선언했으며 this.canvas를 다른 많은 함수에 사용했습니다. 그럼 내 문제는 어디 있니?
고마워요! 에 감사하다! –
@ZaharZagrava 기꺼이 도와 드릴 수 있습니다. 도움이된다면 답변을 [수락] (https://meta.stackexchange.com/a/5235)로 표시하십시오. – stybl