DOM2级事件
可以选择是事件流。可绑定多个同类事件。事件名可以组成字符串。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="content"></div>
</body>
</html>
addEventListener
-
添加监听的事件
let content = document.getElementById("content");
content.addEventListener("click", function () {
console.log("seriousLose");
}, false)
content.addEventListener("click", function () {
console.log("hello seriousLose");
}, false)
-
阻止默认事件preventDefault() document.body.addEventListener('touchmove', function (event) {
event.preventDefault();
},false);
-
阻止事件冒泡stopPropagation() <div id="div"><button id="btn">按钮</button></div>
function showType(event) {
alert(event.type);
event.stopPropagation();
}
function showDiv() {
alert("div");
}
document.getElementById("btn").addEventListener("click", showType);
document.getElementById("div").addEventListener("click", showDiv);
removeEventListener
-
移出事件 function add() {
console.log("I me here seriousLose");
}
content.addEventListener("mouseenter", add, false);
content.removeEventListener("mouseenter", add, false);
<aside> 💡 removeEventListener 需要知道你需要移出的是哪个事件处理函数。匿名函数丢弃了自身函数名,是移出不了。
</aside>
content.addEventListener("click", function () {
console.log("hello seriousLose");
}, false)
// 是没有用的,并不能被移出
content.removeEventListener("click", function () {
console.log("hello seriousLose");
}, false), false);
<aside> 💡 IE9以下的IE浏览器不支持 addEventListener()和removeEventListener(),使用 attachEvent()与detachEvent() 代替, 因为IE9以下是不支持事件捕获的,所以也没有第三个参数,第一个事件名称前要加on
</aside>
Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.A new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your teamhttps://serious-lose.notion.site/JS-EventListener-069ed005e76443b4b12a4912f1a12a30
demos/DW-dom.html at main · SeriousLose/demos
EventTarget.addEventListener() - Web API 接口参考 | MDN
EventTarget.removeEventListener - Web API 接口参考 | MDN
|