JS基础——事件操作总结

Posted fuguy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS基础——事件操作总结相关的知识,希望对你有一定的参考价值。

通用事件绑定

 
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);
}
});
}

 

以上是关于JS基础——事件操作总结的主要内容,如果未能解决你的问题,请参考以下文章

Node.js入门 01:基础使用与说明

node.js基础

回归 | js实用代码片段的封装与总结(持续更新中...)

Node.js基础知识

总结javascript基础概念系列计划分为三个部分:作用域,事件循环,原型链。

js学习总结----移动端事件基础及常用的事件库