风到这里就是粘
2017-08-09 11:21
// 拖曳
oTitle.onmousedown=fnDown;
// 移动
document.onmousemove=function(event){
event = event || window.event;
fnMove(event,disX,disY);
}
想问一下大神,拖拽时直接把fnDown直接赋给鼠标按下的事件,移动时,在fnDown里为什么不可以直接将document.onmousemove=fnMove(event,disX,disY);为什么不行?
嗯,我觉得你应该先弄明白什么是回调函数,element.onclick事件触发的时候,他的回调函数是这种形式的function(event){};虽然JS没有限定参数的长度,也就是说,这个回调函数的形式也是这样的function(event,undefined,undefined........){};所以上面这样子改的话,控制台就会提示你disX没有定义,从而停止这个函数的执行,也就移动不了了。
回调函数是传递参数是没有意义的。所以这时候disX,disY没什么用。
DOM事件探秘
99544 学习 · 1197 问题
相似问题