我想弄清楚事件的运作方式。我有这段代码:
document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = mousePos;
document.onkeypress = keyPressed;
var keyStroke = 0;
var mouseX = 0;
var mouseY = 0;
function mousePos(e) {
console.log(e);
mouseX = e.pageX;
mouseY = e.pageY;
document.formex.mousex.value = mouseX;
document.formex.mousey.value = mouseY;
return true;
}
function keyPressed(e) {
console.log(e);
keyClicked = e.key;
document.formex.keypress.value = keyStroke;
return true;
}
令我困惑的是 - 在keyPressed函数console.log(e)
内部产生KeyboardEvent,在mousePos(e)
内部产生MouseEvent。我无法说明这两个 ' 之间的区别是什么?
答案 0 :(得分:0)
让我感到困惑的是 - 在
keyPressed
函数console.log(e)
内部产生KeyboardEvent
,在mousePos(e)
内部产生MouseEvent
。我不知道这两者之间的区别是什么?'会发生什么?
浏览器创建事件对象并在文档元素处触发它们。当事件与键盘相关时,浏览器会创建KeyboardEvent
。当它与鼠标相关时,会触发MouseEvent
。如果它与其他东西有关,它将创造并发射一种不同类型的事件。
"分化"基于导致事件被触发的原因:键盘操作或鼠标操作。