js事件
2020-04-09 本文已影响0人
事在人为s
事件冒泡 addEventListener 第三个参数为false 默认模式
事件捕获 addEventListener 第三个参数为true
var ev = document.getElementById('ev');
ev.addEventListener('click', function(e) {
console.log('ev captrue');
}, true);
window.addEventListener('click', function(e) {
console.log('window captrue');
}, true);
document.addEventListener('click', function(e) {
console.log('document captrue');
}, true);
document.documentElement.addEventListener('click', function(e) {
console.log('html captrue');
}, true);
document.body.addEventListener('click', function(e) {
console.log('body captrue');
}, true);
自定义事件
//定义事件名为 test
var eve = new Event('test');
//绑定事件到id为dom的节点上
var dom = document.getElementById('dom');
dom.addEventListener('test', function() {
console.log('test dispatch');
});
//触发事件
setTimeout(function() {
dom.dispatchEvent(eve);
}, 1000);