JS——事件的追加与移除
来源:互联网 发布:radon变换算法 编辑:程序博客网 时间:2024/06/05 15:27
【前言】
JavaScript中的事件追加还有点不太明白,也一点都不懂,就是有点懵,感觉自己理解的和视频里的不太一样,有哪个小伙伴有好的理解欢迎交流。
【正文】
一、事件的追加
第一种方法:
<script type="text/javascript" > //1、追加 //传一个func方法进去,追加方法 var appendLoad = function (func) { //先从window.onload中把oldfunc取出来 var oldFunc = window.onload; //如果等于function,表明注册的是方法 if (typeof(oldFunc)==="function") { window.onload = function () { //旧的function调用一次 oldFunc(); //新的调用一次 func(); }; } else {//不等于表明注册的不是方法,怎么办呢? window.onload = func; } }; </script>
第二种方法:
<script type="text/javascript" > var appendLoad = (function () { var kv = {};//存方法键值对 return function (name, func) {//name:方法名,func:方法体 kv[name] = func; window.onload = function () { for (var k in kv) { kv[k]();//调kv就是在追加 } } }; })(); </script>
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>追加和移除</title> <script type="text/javascript" > //追加和移除 var eventHelper = (function () { var kv = {};//存方法键值对 return { add: function (name, func) { kv[name] = func;//追加一个成员进去 window.onload = function () { for (var k in kv) { kv[k](); } }; }, remove: function () { for (var k in kv) { if (k == name) { delete kv[k];//从对象里移除成员 } } } }; })(); eventHelper.add("f1", function () { alert("第一个方法"); }); eventHelper.add("f1", function () { alert("第二个方法"); }); eventHelper.remove("f1"); </script></head><body></body></html>
三、效果图:
只追加:
追加后又移除第一个方法:
阅读全文
0 0
- JS——事件的追加与移除
- JS绑定事件和移除事件的处理方法
- JQuery 样式设置、追加、移除与切换
- JQuery 样式设置、追加、移除与切换
- JQuery 样式设置、追加、移除与切换
- tab切换 以及 jquery追加与移除
- vue.js怎样移除绑定的点击事件?
- jquery移除追加元素
- 原生js事件的绑定和解除
- jQuery绑定事件与移除事件
- js使用getEventListeners移除事件监听器
- js跨浏览器添加移除事件
- JavaScript之事件的绑定与移除
- JavaScript之事件的绑定与移除
- 原生js事件绑定和事件移除
- JS中的事件委托和移除事件处理程序
- js中常用的事件,onclick 单击事件、onblur 失去焦点事件、onchange改变事件、onmouseover鼠标进入事件、onmouseout鼠标移除事件、onsubmit提交事件
- js中常用的事件,onclick 单击事件、onblur 失去焦点事件、onchange改变事件、onmouseover鼠标进入事件、onmouseout鼠标移除事件、onsubmit提交事件
- QMUI-Android的一些尝试(圆形进度条、Loading、圆形图片、圆形按钮、椭圆图片)
- Vue基础(Class 与 Style 绑定)
- 凭什么你的团队符合最佳雇主?
- Jquery UI (一)
- 使用 SiC MOSFET:挑战与设计建议---凯利讯半导体
- JS——事件的追加与移除
- JavaScript
- linux-3.5内核编译失败的问题
- 顺序串基本运算
- SpringMVC关于AOP拦截controller的注意事项
- 《android framework常用api源码分析》之apk打包过程解析
- 2017年12月12日 qsort函数理解、多态的实验
- mysql锁表机制分析
- BlueBorne远程代码执行漏洞Poc实战(CVE-2017-0781)