我想要一些javascript项目的帮助。我想做的是,有两个函数在鼠标移动时启动,但每次只有一个工作
例如,如果我这样做
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,第一个工作正常并更改输入字段的值
如果我把它留在那里,它会不断地写支票(这是为了调试目的),但第一个不起作用
有关如何使多个鼠标事件发挥作用的任何想法?
答案 0 :(得分:2)
使用document.addEventListener('mousemove', yourCb);
它允许多个处理程序