$("#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');
});
嗨,由於某種原因,當我嘗試從我的'mousemove'函數內的for循環使用變量'i'時,它是未定義的。如果我在出於某種原因之前將它分配給另一個變量,但我不想這樣做,因爲它似乎沒有必要。任何幫助將不勝感激。jQuery事件綁定的問題
謝謝你,不知道。不幸的是,這並沒有解決問題,我像你說的那樣將'i = 0'更改爲'var i = 0',但'我'仍然未定義。另外,就我所知,'i'在腳本的其餘部分中並沒有用於函數參數,而函數參數始終是本地的。 – Ian 2010-11-28 20:31:45