我在理解如何讓變量在我的.onmouseup
事件中工作時遇到了一些問題。使用javascript訪問變量(無jQuery).onmouseup事件
我有一個.onmousemove
事件,它定義了一個局部變量,例如自從.onmousedown
以來鼠標移動的距離。我想在執行.onmouseup
的函數中使用這些信息,但是,我無法在那裏找到它。下面是代碼的相關位:
document.onmousedown = function(){
var mouseStart = [event.pageX,event.pageY];
document.onmousemove = function(){
var dist = Math.sqrt(Math.pow(event.pageY-mouseStart[1],2)+Math.pow(event.pageX-mouseStart[0],2));
document.onmouseup = function() {
global_function(dist);
document.onmousemove = null;
}
}
}
我不明白爲什麼mouseStart
是可訪問的,但我得到了得到了錯誤DIST是不確定的。
我還有其他的變量也需要通過,在.onmouseup
期間無法重新定義。
你爲什麼要在一個事件處理程序中綁定一個事件*在一個事件處理程序*內? –
他爲什麼不呢? – Jake
在Chrome [Fiddle]中工作正常(http://fiddle.jshell.net/Pisi2012/VQKrN/) – alexP