事件处理程序分为:
- HTML事件处理
- DOM0级事件处理
-
HTML事件(几乎不用)
优点:写起来方便
缺点:JS和HTML不分离,各干各的事,不要后期耦合性太强<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"><title>Js事件详解--事件处理</title></head><body><div id="div"><button id="btn1" onclick="demo()">按钮</button></div><script>function demo(){alert("hello html事件处理");}</script></body></html>
DOM0级事件处理
优点:JS和HTML做了分离
缺点:事件会被覆盖,两个同名的事件,下面的会覆盖上面的
(只适用于只有一个事件处理)<body><div id="div"><button id="btn1">按钮</button></div><script>var btn1=document.getElementById("btn1");btn1.onclick=function(){alert("Hello DOM0级事件处理程序1");}//被覆盖掉btn1.onclick=function(){alert("Hello DOM0级事件处理程序2");}//移除事件btn1.onclick=null; //将事件消除</script></body>
DOM2级事件处理
优点:1、JS和HTML分离 2、事件不会被覆盖
缺点:写起来复杂<body><div id="div"><button id="btn1">按钮</button></div><script>var btn1=document.getElementById("btn1");btn1.addEventListener("click",demo1);btn1.addEventListener("click",demo2);btn1.addEventListener("click",demo3);function demo1(){alert("DOM2级事件处理程序1")}function demo2(){alert("DOM2级事件处理程序2")}function demo3(){alert("DOM2级事件处理程序3")}//移除事件btn1.removeEventListener("click",demo2);</script></body>
