주소 : http://www.stanford.edu/~ouster/cgi-bin/cs142-spring12/lecture.php?topic=event의 자습서를 살펴 보겠습니다.이 코드의 의미를 설명하십시오
그리고 별표로 표시된 행의 코드에 대해 이해할 수 없습니다. document.body.onmousemove
설정
function Dragger(id) {
this.isMouseDown = false;
this.element = document.getElementById(id);
var obj = this;
this.element.onmousedown = function(event) {
obj.mouseDown(event);
}
}
Dragger.prototype.mouseDown = function(event) {
var obj = this;
this.oldMoveHandler = document.body.onmousemove; /******/
document.body.onmousemove = function(event) { /******/
obj.mouseMove(event);
}
this.oldUpHandler = document.body.onmouseup; /******/
document.body.onmouseup = function(event) { /******/
obj.mouseUp(event);
}
this.oldX = event.clientX;
this.oldY = event.clientY;
this.isMouseDown = true;
}
Dragger.prototype.mouseMove = function(event) {
if (!this.isMouseDown) {
return;
}
this.element.style.left = (this.element.offsetLeft
+ (event.clientX - this.oldX)) + "px";
this.element.style.top = (this.element.offsetTop
+ (event.clientY - this.oldY)) + "px";
this.oldX = event.clientX;
this.oldY = event.clientY;
}
Dragger.prototype.mouseUp = function(event) {
this.isMouseDown = false;
document.body.onmousemove = this.oldMoveHandler; /******/
document.body.onmouseup = this.oldUpHandler; /******/
}
그냥 명확히하기 위해, 당신의 "당신이 강조한 라인"시작 "**"로 끝나는 라인은 오른쪽입니까? – Katana314
구식 침입 이벤트 핸들러 바인딩에 대한 자문을 제공하는 2012 자습서에 약간의 느낌이 들었습니다. – Pointy
@Pointy 수년 전부터 붙여 넣기 한 카피 붙여 넣기 과정이 되길 바랍니다 –