多个document.onmousemove事件无效

时间:2016-10-11 11:26:18

标签: javascript events mousemove

我想要一些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,第一个工作正常并更改输入字段的值

如果我把它留在那里,它会不断地写支票(这是为了调试目的),但第一个不起作用

有关如何使多个鼠标事件发挥作用的任何想法?

1 个答案:

答案 0 :(得分:2)

使用document.addEventListener('mousemove', yourCb);它允许多个处理程序