标签:dde type 代理 防止 冒泡 bin 标签 UNC prevent
function bindEvent(elem,type,fn) {
elem.addEventListener(type,fn);
}
let a =document.getElementById(‘a‘);
bindEvent(a,‘click‘,function(e){
e.preventDefault() //阻止浏览器默认行为,防止调转
alert(‘clicked’);
})
<body> <div> <p id ="p1">激活</p> <p id ="p2">取消</p> <p id ="p3">取消</p> </div> <div> <p id ="p4">取消</p> <p id ="p5">取消</p> </div> </body>
let body =document.body
let p1 =document.getElementById(‘p1‘);
bindEvent(p1,‘click‘,function(e){
e.stopPropagation(); //阻止事件冒泡
alert(‘激活‘)
})
bindEvent(body,‘click‘,function(e){
alert(‘取消‘)
})
<body> <div id="div1"> <p id ="p1">激活</p> <p id ="p2">取消</p> <p id ="p3">确认</p> </div> </body>
let body =document.body
let div1 =document.getElementById(‘div1‘);
bindEvent(div1,‘click‘,function(e){
const target =e.target;
if(target.nodeName === ‘A‘) { //判断是否是a标签
alert(‘target.innerHTML‘)
}
})
function bindEvent(elem,type,selector,fn) {
if(fn == null){
fn = selector;
selector = null;
}
elem.addEventListener(type,function(e){
if(selector){
const target= e.target
if(target.matches(seletor)){
fn.call(target, e)
}
}else {
fn(e);
}
});
}
标签:dde type 代理 防止 冒泡 bin 标签 UNC prevent
原文地址:https://www.cnblogs.com/fuGuy/p/9211214.html