$("#canvas").mousedown(function(e) {
for(i=0; i<allPoints[0].length; i++) {
var pointX = controlPoint[i].x;
var pointY = controlPoint[i].y;
var mouseX = e.pageX - this.offsetLeft;
var mouseY = e.pageY - this.offsetTop;
if(pointX + 5 > mouseX && pointX - 5 < mouseX && pointY + 5 > mouseY && pointY - 5 < mouseY) {
var testest = i;
$(this).bind('mousemove', function(e) {
//'i' is undefined here
//'testest' is defined
controlPoint[testest].x = e.pageX - this.offsetLeft;
controlPoint[testest].y = e.pageY - this.offsetTop;
});
}
}
}).mouseup(function(e){
$(this).unbind('mousemove');
});
안녕하세요, 'for'루프에서 'i'변수를 사용하려고하면 'mousemove'함수가 정의되지 않습니다. 만약 내가 다른 변수에 할당하기 전에 어떤 이유로 작동하지만, 불필요하게 보이기 때문에 그렇게하고 싶지는 않습니다. 어떤 도움이라도 대단히 감사하겠습니다.jQuery 이벤트 바인딩 문제
감사합니다. 그 사실을 알지 못했습니다. 불행히도 그 문제를 해결하지 못했습니다, 당신이 말한 것처럼 'i = 0'을 'var i = 0'으로 변경했지만 'i'는 아직 정의되지 않았습니다. 또한 'i'는 나머지 스크립트에서 함수 매개 변수 이외에는 사용되지 않습니다. 이는 항상 알고있는 한 로컬입니다. – Ian
정말입니까? 모든'i'를'abc'으로 변경해보십시오. – Tower