第57关:监听器 (EventListener) 👂

XP: 0/100
🦸‍♂️

JS队长

HTML 属性事件有个大问题:一个元素只能绑定一个处理函数!

如果你想让一个按钮既能“开门”,又能“开灯”,该怎么办?

使用 addEventListener()!它可以给同一个事件绑定无数个监听器!

🐛

Bug捣蛋鬼

嘿嘿,那我就给它绑上一万个炸弹!💣

🦸‍♂️

JS队长

别怕,我们还可以用 removeEventListener() 来拆除炸弹(解除绑定)。

function sayHi() { alert("Hi!"); }

// 绑定
btn.addEventListener("click", sayHi);

// 解绑 (必须传入同一个函数引用)
btn.removeEventListener("click", sayHi);
            

🎮 拆弹专家

这个炸弹绑定了爆炸程序。点击“剪断红线”来移除监听器,然后再点击炸弹测试是否安全。

💣

状态:危险!一触即发!