<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>事件练习:封装兼容性添加、删除事件的函数</title><script type="text/javascript">//封装一个函数window.onload = function() {var EventUtil = {addEvent: function(element, type, handler) {if (element.addEventListener) {element.addEventListener(type, handler, false);} else if (element.attachEvent) {element.attachEvent('on' + type, handler);} else {element['on' + type] = handler;}},removeEvent: function(element, type, handler) {if (element.removeEventListener) {element.removeEventListener(type, handler, false);} else if (element.detachEvent) {element.detachEvent('on' + type, handler);} else {element['on' + type] = null;}}}var aBtn = document.getElementsByTagName("input");//为第一个按钮添加绑定事件EventUtil.addEvent(aBtn[1], "click", function() {EventUtil.addEvent(aBtn[0], "click", fnHandler);aBtn[0].value = "我可以点击了"});//解除第一个按钮的绑定事件EventUtil.addEvent(aBtn[2], "click", function() {EventUtil.removeEvent(aBtn[0], "click", fnHandler);aBtn[0].value = "毫无用处的按钮"});//事件处理函数function fnHandler() {alert("事件绑定成功!")}}</script></head><body><center><input type="button" value="毫无用处的按钮"> <input type="button" value="绑定click"> <input type="button" value="解除绑定"></center></body>
</html>

javascript 事件练习:封装兼容性添加、删除事件的函数、addEventListener用法相关推荐

  1. 扩展JavaScript数组(Array)添加删除元素方法

    为JavaScript数组(Array)扩展 添加删除元素方法 作者:jcLee95:https://blog.csdn.net/qq_28550263?spm=1001.2101.3001.5343 ...

  2. html div的点击事件,Jquery为DIV添加click事件的简单实例

    今天在做一个抽奖活动时小编要做一个抽奖没有中奖之后直接弹出一个提示,然后再给div添加一个事件了,下面我们来看这个例子的做法. html jquery事件 $('#click_ms').click(f ...

  3. axios如何在nodejs项目里封装_【面经】jq 中 ajax 和 axios 区别,瀑布流布局,添加删除事件...

    [jq 中 ajax 和 axios 区别] jq的ajax 1.本身是针对MVC的编程,不符合现在前端MVVM的浪潮 2.JQuery整个项目太大,单纯使用ajax却要引入整个JQuery不合理 a ...

  4. php如何给单选框加js事件,js给元素添加绑定事件

    yizer 2016-08-05 22:26 Bing search 你好 // getElementById,通过id获取元素 var getDom = function (id){ return ...

  5. JavaScript对数组操作。添加/删除/截取/排序/倒序

    js对数组对象的操作以及方法的使用 如何声明创建一个数组对象: var arr = new Array(); 或者 var arr = []; 如何移除所有数组中数据? arrayJson.dataL ...

  6. Moodle: 查询 / 更新 / 添加 / 删除 / 导出 用户 ($DB用法)

    1. 添加用户 require_once('config.php'); // config.php under root folderrequire_once($CFG->dirroot .'/ ...

  7. 【JavaScript】鼠标、键盘的基础事件

    鼠标键盘的基础事件: 鼠标事件 事件类型 点击左键 click 鼠标经过 mouseover 鼠标离开 mouseout 获得鼠标焦点 focus 失去鼠标焦点 blur 鼠标移动 mousemove ...

  8. android向系统日历添加日程事件(实现闹铃效果,且在app被杀仍能完成)

    向系统日历读写事件有一下步骤 1,有读写日历的权限 2,如果没有日历账户需要先创建日历账户 3,实现日历事件增删改查,提醒功能 一,权限申请 AndroidManifest.xml添加如下权限 < ...

  9. Android添加系统日历提醒,并从项目日历查看添加的事件<日历 111>(带效果图)

    前言 今天写一个从代码中添加系统日历提醒的功能,(分两篇,一个添加到系统日历,一个从手机上能直接查看) 一.话不多说,先看效果 这个是项目中的日历以及日历事件展示 这个是系统日历以及事件展示 可以看的 ...

  10. Unity碰撞体不碰撞以及代码添加EventTrigger事件

    文章目录 前言 一.同类型物体的碰撞体不发生碰撞 二.代码控制EventTrigger添加事件 总结 前言 本文所记内容有两点: 一.同类型物体的碰撞体不发生碰撞. 二.代码控制EventTrigge ...

最新文章

  1. Kettle连接HiveServer2配置和常见问题解决
  2. [hypervisor]-ARMV8的hypervisor技术介绍–InProgress
  3. MTK DDR不能兼容分析
  4. jwt判断token是否过期_前端也得搞懂 JWT 这个知识点
  5. 鸿蒙蕴含的哲理,经典别致的人生语录,蕴含哲理,受用一生!
  6. 天池在线编程 2020国庆八天乐 - 4. 生成更大的陆地(BFS)
  7. vue实现部分页面导入底部 vue配置公用头部、底部,可控制显示隐藏
  8. ARM 中断状态和SVC状态的堆栈切换 (异常)【转】
  9. MyBatis数据输出
  10. LightOj 1336(Sigma Function)
  11. 查看ASA日志服务器信息,ASA 日志管理
  12. 【go-zero】go-zero开发环境 如何聚合所有api? caddy反向代理服务分发 微服务设计api聚合方法 best practice
  13. 创建两个线程,其中一个输出1-52,另外一个输出A-Z。输出格式要求:12A 34B 56C 78D 依次类推
  14. Numpy中reshape函数、reshape(1,-1)的含义(浅显易懂,源码实例)
  15. IBM Storwize V5000资源管理柜
  16. “实践是检验真理的唯一标准”是公理,公理是原点,原点是循环论证
  17. 输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。
  18. 万年历农历程序(抄表法)
  19. 水面模拟--波动方程
  20. 如何查询网站服务器供应商,查询网站服务器提供商

热门文章

  1. 20145302张薇《Java程序设计》第三周学习总结
  2. 数据库 char nchar varchar nvarchar 区别
  3. K-special Tables
  4. android root su sticky bit
  5. oracle根据当前月份往前,Oracle SQL - 根据月份对时间序列分区求和
  6. 三维模型_浅谈倾斜摄影及三维模型的应用行业
  7. centos samba 看不到共享目录_linux入门系列--文件共享之Samba和NFS
  8. 拓端tecdat|R语言聚类有效性:确定最优聚类数分析IRIS鸢尾花数据和可视化
  9. 拓端tecdat|R语言使用HAR-RV预测实际波动率Realized Volatility案例
  10. 拓端tecdat|使用R语言对进行地理空间数据可视化