原生JS的事件绑定
发布日期:2021-07-23 08:50:54
浏览次数:17
分类:技术文章
本文共 1218 字,大约阅读时间需要 4 分钟。
1、通过JavaScript对象属性来绑定
var btn = document.getElementById('oBtn');btn.onclick = function(){alert('xixi');}
但是这种方法的缺陷就是只能对一个元素的一个事件进行绑定,会出现覆盖的效果,只会执行最后面定义的。
2.通过HTML属性处理函数的绑定
example:
//1、 //2、
这种方法适合编写简短的小事件,不会涉及到太大的性能问题。
3利用所有文档元素的方法
这种方法有兼容性问题
(1)addEventListener(type,handler,boolean),兼容IE8以后的所有浏览器(2)attachEvent(type,handler),适用IE8以下的版本用法:oDiv1.addEventListener('click',function(){alert('div11');},false);
事件的执行顺序与事件的注册顺序是一致的,false:发生在冒泡阶段 , true则发生在捕获阶段
oDiv1.attachEvent('onclick',function(){alert('haha');});注销的方法分别是removeEvent() and detach()
可以自己封装一个函数来做兼容:
//add~eventfunciton addEvent(elem,type,fn){if(elem.addEventListener)//judge { elem.addEventListener(type,fn,false);//默认是冒泡 }else if(elem.attachEvent){ elem[type+fn] = function(){ fn.call(elem); }; elem.attachEvent('on'+type,elem[type+fn]);}else{elem['on'+type] = fn;}//remove~ eventfunction removeEvent(elem,type,fn){if(elem.removeEventListener){elem.removeEventListener(type,fn,false);}else if{elem.detachEvent('on'+type,elem[type+fn]);}else{elem['on'+type] = fn;}}//call functionaddEvent(oBtn,'click',function(){alert(this.innerHTML);});removeEvent(oBtn,'click',,function(){alert(this.innerHTML);});
转载地址:https://blog.csdn.net/namechenfl/article/details/84257039 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月23日 06时11分09秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
自定义校验注解ConstraintValidator
2019-04-27
官方正式发布 Java 16
2019-04-27
MySQL 索引原理 图文讲解
2019-04-27
要求输出事故报告,线上日志文件却不见了!!
2019-04-27
前端嫌弃原生Swagger界面太low,于是我给她开通了超级VIP
2019-04-27
小白都能学会的Java注解与反射机制
2019-04-27
Java高并发测试框架JCStress
2019-04-27
阿里P8大神教我yaml语法,我终于不再只是使用字符串类型了
2019-04-27
Springboot 集成 i8n,两行代码实现国际化,你不想学吗?
2019-04-27
LeetCode 每日一题「判定字符是否唯一」
2019-04-27
一次完整的HTTP请求与响应涉及哪些知识?
2019-04-27
HashMap 为什么线程不安全?
2019-04-27
厉害了,Servlet3的异步处理机制
2019-04-27
Static 关键字的 5 种用法,你会几种?
2019-04-27
你还在百度这些代码吗?
2019-04-27
为什么 Java 不支持类多重继承?
2019-04-27
微服务设计 10 大反模式和陷阱!
2019-04-27
如何优雅地终止一个线程?
2019-04-27
Java 程序员必须掌握的 5 个注解!
2019-04-27
Intellij IDEA Debug 调试技巧
2019-04-27