eventListener = listen for specific events to create interactive web pages events:

  • click
  • mouseover
  • mouseout .addEventListener(event, callback)
// ======================== 选择元素 ========================
// 获取页面中 id 为 "myBox" 的元素(假设是一个方块区域)
const myBox = document.getElementById("myBox");
// 获取 id 为 "myBtn" 的按钮元素
const myBtn = document.getElementById("myBtn");

📘 第一种写法

// ---------- 方法1:将函数单独定义后传入 ----------
function changeColor(event){
  console.log(event); // 打印事件对象(包括鼠标坐标、点击类型等)
  event.target.style.backgroundColor = "tomato"; // 修改被点击元素背景色
  event.target.textContent = "ouch 🤕"; // 修改文字内容
}
 
// 给 myBox 绑定点击事件(当点击时调用 changeColor)
myBox.addEventListener("click", changeColor);
 
 
// ---------- 方法2:直接在 addEventListener 内定义函数 ----------
myBox.addEventListener("click", function(event){
  event.target.style.backgroundColor = "tomato";
  event.target.textContent = "ouch 🤕";
});

addEventListener(“click”, handler) 用于注册点击事件。 event 是事件对象,包含所有与事件相关的信息。 event.target 表示触发事件的元素(此处是 myBox)。

更简洁的写法:

// ======================== 1️⃣ 点击按钮时 (click) ========================
// 当点击按钮 myBtn 时触发事件
myBtn.addEventListener("click", event => {
  // 修改 myBox 的背景颜色与文字内容
  myBox.style.backgroundColor = "tomato";
  myBox.textContent = "Ouch ! 🤕";
});
 
// ======================== 2️⃣ 鼠标悬停时 (mouseover) ========================
// 当鼠标移到按钮上方时触发
myBtn.addEventListener("mouseover", event => {
  // 改变 box 的背景色与内容
  myBox.style.backgroundColor = "lightyellow";
  myBox.textContent = "Don’t do! 😨";
});
 
// ======================== 3️⃣ 鼠标移出时 (mouseout) ========================
// 当鼠标离开按钮区域时触发
myBtn.addEventListener("mouseout", event => {
  // 恢复 box 的颜色与默认提示文字
  myBox.style.backgroundColor = "lightgreen";
  myBox.textContent = "Click Me 😊";
});