多document.onmousemove事件我想一些帮助,一个javascript project.What我想要做的,是有启动时鼠标移动两个功能,但只有其中一个屡试不爽不工作
例如,如果我这样做
var mouseX;
var mouseY;
document.onmousemove = captureMouse;
document.onmousemove = function(){console.log("check");}
function captureMouse(ev){
ev = ev || window.event;
var mousePos= mouseCoords(ev);
mouseX=mousePos.x;
mouseY=mousePos.y;
document.getElementById("coordinput").value=mouseX;
return mousePos;}
function mouseCoords(ev){
if(ev.pageX || ev.pageY){
return {x:ev.pageX,y:ev.pageY};
}
return{
x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y:ev.clientY + document.body.scrollTop - document.body.clientTop
};
}
如果我删除了第二document.onmousemove,第一工作正常,并且改变输入字段
,如果我离开它存在的价值,它不断地写检查像它应该(这是为了调试目的),但第一个一个不起作用
关于如何使多个鼠标事件工作的任何想法?
如JavaScript是连续的,所以只分配到事件的最后一个函数将被调用。为了检查第二个函数function(){console.log(“check”);},可以在第一个函数captureMouse中使用它; – Pranay
好的,谢谢你的回答。我认为每个document.onmousemove都添加了一些标志,所以当你移动鼠标时,它会执行两个,不仅是最后一个。问题是我打算有一个不同的功能来代替控制台.log所以我真的需要让他们分开,并捕捉鼠标只有在那里不断更新两个坐标 – rexxar2