я хотел бы некоторую помощь с JavaScript project.What я пытаюсь сделать, это есть две функции, которые инициируют при перемещении мыши, но только один из них работает каждый разНесколько document.onmousemove событий не работает
Например, если я это сделать
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 последовательна, поэтому только последняя функция, назначенная событие будет называться. Чтобы проверить вторую функциональную функцию() {console.log ("check");}, вы можете использовать ее внутри первой функции captureMouse; – Pranay
Хорошо спасибо за этот ответ. Я думал, что каждый document.onmousemove добавляет какой-то флаг, поэтому, когда вы перемещаете мышь, он выполняет как не только последнюю. Проблема в том, что я намерен использовать другую функцию вместо консоли .log, поэтому мне действительно нужно, чтобы они были разделены, и capturemouse только там, чтобы постоянно обновлять две координаты – rexxar2