事件的两种绑定方式

一 概念
#### 1、on事件绑定方式 ```js document.onclick = function() { console.log("文档点击"); } // on事件只能绑定一个方法,重复绑定保留最后一次绑定的方法 ``` ```js document.onclick = function() { console.log("文档点击"); } // 事件的移除 document.onclick = null; ``` #### 2、非on事件绑定方式 ```js document.addEventListener('click', function() { console.log("点击1"); }) document.addEventListener('click', function() { console.log("点击2"); }) // 非on事件可以同时绑定多个方法,被绑定的方法依次被执行 // addEventListener第三个参数(true|false)决定冒泡的方式 ``` ```js function fn () {} document.addEventListener('click', fn); // 事件的移除 document.removeEventListener('click', fn);

二 代码示范

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>事件的两种绑定方式</title>
</head>
<body>
<div class="div">12345</div>
</body>
<script type="text/javascript">
var div = document.querySelector('.div');
// on事件
div.onclick = function () {
console.log("点击1");
}
div.onclick = function () {
console.log("点击2");
}
// 只打印"点击2",原因,只能绑定最后一个方法

// 事件的移除
div.onclick = null;


// 非on事件的绑定 *
// addEventListener('事件名', 回调函数, 冒泡方式)
div.addEventListener('click', function() {
console.log("点击1");
});

var fn = function() {
console.log("点击2");
}
div.addEventListener('click', fn);
// 存在重复绑定

// 事件的移除
// removeEventListener('事件名', 回调函数名)
div.removeEventListener('click', fn)
// 注:绑定与移除需要指向同一个方法(地址)

</script>
</html>



posted @ 2018-10-18 18:30  不沉之月  阅读(263)  评论(0编辑  收藏  举报