【发布时间】:2014-01-30 15:18:48
【问题描述】:
我在理解如何让变量在我的 .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 期间无法重新定义。
【问题讨论】:
-
你为什么要绑定一个事件inside一个事件处理器inside一个事件处理器?
-
在 Chrome 中运行良好 Fiddle
标签: javascript dom-events parameter-passing onmouseup