console
function bindEvent(elem, type, selector, fn) {
if (fn == null) {
fn = selector;
selector = null
}
elem.addEventListener(type, function(e) {
if (selector) {
let target = e.target;
if (target.matches(selector)) {
fn.call(target, e)
}
} else {
fn(e)
}
})
}
let p1 =document.getElementById('p1');
bindEvent(p1, 'click', function (e) {
e.stopPropagation()
console.log('激活')
})
let body = document.body;
bindEvent(body, 'click', 'p', function(e) {
console.log(this.innerHTML)
})
<div id="div1">
<p id="p1">激活</p>
<p id="p2">取消</p>
</div>
<div id="div2">
<p id="p3">取消</p>
<p id="p4">取消h</p>
</div>
p {
cursor: pointer;
}