事件对象

虽然目前为止我们忽略了它,事件处理器函数作为对象传递:事件(Event)对象。这个对象持有事件的额外信息。例如,如果我们想知道哪个鼠标按键被按下,我们可以查看事件对象的which属性。

  1. <button>Click me any way you want</button>
  2. <script>
  3. let button = document.querySelector("button");
  4. button.addEventListener("mousedown", event => {
  5. if (event.button == 0) {
  6. console.log("Left button");
  7. } else if (event.button == 1) {
  8. console.log("Middle button");
  9. } else if (event.button == 2) {
  10. console.log("Right button");
  11. }
  12. });
  13. </script>

存储在各种类型事件对象中的信息是有差别的。随后本章将会讨论许多类型的事件。对象的type属性一般持有一个字符串,表示事件(例如"click""mousedown")。