简单事件追加案例

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<input type="button" id="btn" value="click"/>
<script>
    var btn = document.getElementById(‘btn‘);

   var event =  (function(){
        /*定义存储事件处理函数的对象,根据不同的事件名,将事件处理函数存储在对应的数组中*/
       var events = {
           ‘click‘:[],
           ‘load‘:[]
       }
       /*事件处理函数*/
       function on(node,type){
           /*dom元素+ on+ 事件名= 事件处理函数*/
           node[‘on‘+type] = function (e) {
               /*遍历数组 events[type]*/
               for(var i = 0;i < events[type].length;i++){
                   /*上下文调用events[type][i]函数 返回自定义this  即Dom元素*/
                   events[type][i].apply(node,[e]);
               }
           };
       }
       /*调用*/
       on(window,‘load‘);
       on(btn,‘click‘);

       return {
           /*追加事件函数*/
           appEvent: function (node,type,fn) {
               /*判断事件名追加到对应的数组中*/
               if(type == ‘click‘){
                   events[type].push(fn);
               }else if(type == ‘load‘){
                   events[type].push(fn);
               }
               return this;
           },
           removeEvent: function (node,type,fn) {
               /*更加事件名遍历数组,在对应的数组中移除事件*/
               for(var i = 0;i < events[type].length;i++){
                   if(events[type][i] === fn){
                       break;
                   }
               }
               if(i != events[type].length){
                   events[type].splice(i,1);
               }
               return this;
           }
       }
   })();/*自调用*/
    var o = event;

    o.appEvent(btn,‘click‘, function () {
        alert(123)
    });
    var f = function () {
        alert(‘454545‘);
    }
    o.appEvent(btn,‘click‘,f).removeEvent(btn,‘click‘,f);

</script>
</body>
</html>
时间: 2024-08-05 17:43:58

简单事件追加案例的相关文章

失败案例

2.亿唐网 缺少定位,融资过多 一旦认准方向之后,集中公司和个人的资源在一个产品上.什么都想做,什么都做不好. 兵贵神速.速度是制胜的关键.在IT行业,永远是快鱼吃慢鱼. 几个出色的人才远胜于几十个毫无激情的庸人. 找人一定要高标准.考虑到机会成本和招人效率,应该只在名校找人. 建立的制度应该是激励创造力的发挥,而不是去限制个人. 产品一定要做到本行业前三名. 视频网站当年的三杰之一,优酷,土豆和酷6.其中优酷的古永锵,和李善友都是搜狐系,土豆王微是文艺青年.一度风风火火.   失败的教训:路线

Unit01: JAVA开发环境案例

Top JAVA Fundamental DAY01 JDK及Eclipse目录结构操作 JDK的安装及配置 控制台版的JAVA HelloWorld 使用Eclipse开发Java应用程序 1 JDK及Eclipse目录结构操作 1.1 问题 为熟练掌握 Linux 下的目录操作,本案例需要完成如下操作: 在Linux系统下,浏览jdk的目录结构. 在Linux系统下,浏览eclipse的目录结构. 1.2 方案 完成此案例,需要用到一些常用的 Linux命令.这些命令如下所示: pwd :显

Bat脚本处理ftp超强案例解说

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://369369.blog.51cto.com/319630/842341 Bat脚本处理ftp超强案例解说 前言:    公司有几百台windows服务器,每次程序更新,如果是一台台拷数据,只怕安排十个人,一天都不一定做得完,所以就必须研究个全自动更新方案来,于是就 想到了FTP,做个主FTP站,在几百台客户机上启动BAT脚本,每30秒检测一次,如果主站有更新程序,就自动下载更新,

IO流的练习 —— 创建用户注册、登陆案例

把上次用集合做的时候的分析拿出来 需求: 用户登录注册案例 按照如下操作,可以让我们更符合面向对象思想: A:这个案例有哪些类 B:每个类中又有哪些东西 C:类与类之间的关系 分析: A:这个案例有哪些类 用户类 测试类 B:每个类中又有哪些东西 用户类: 成员变量:用户名.密码 构造方法:无参构造 成员方法:getXxx().setXxx() 登陆,注册 但,如果用户类的内容过多的时候,维护起来比较麻烦. 所以,为了以后维护起来比较容易,我们需要更清晰的分类: 用户类可以再分为2个类: 用户基

jQuery常用案例总结

模态对话框 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>test</title> 6 <style> 7 .field{ 8 z-index: 1; 9 } 10 .cover{ 11 display: none; 12 z-index: 2; 13 position:

linux运维实战练习案例-2016年2月3日(第二次)

一.实战案例(练习)内容 1.描述centos6系统开机启动流程: 第一步:POST(加电自检) POST:Power On Self Test 加电自检.指计算机系统接通电源,是BIOS功能的一个主要部分,包括对CPU.系统主板.基本内存.扩展内存.系统ROM BIOS等器件的测试.如发现错误,给操作者提示或警告.简化或加快该过程,可使系统能够快速启动. 第二步:启动BOIS,加载BIOS中的BootSequence(设备加载次序) 启动BIOS的设置界面,然后根据按次序查找各引导设备,第一个

税务案例(作者单位:山东鲁信税务师事务所)

目录公司董事领取报酬可筹划新办商业企业慎选优惠年度减免期多分利可以少补税委托开会可避免会议费被认定为是价外费用巧签投资合同享受节税收益合理设置机构享受最低税率合理利用资源综合利用税收优惠政策个人独资企业财产出租转让的筹划策略醋酸制法不同 节税效果迥异房地产开发经营与资产管理活动税务筹划思维与方法废旧物资收购.加工可筹划合法避税:纳税人“辩护律师”不要忽视所得税优惠政策影响关联企业借款利息扣除的筹划打包出售:变资产转让为资本转让薪酬激励可筹划用转让定价法进行纳税筹划 28企业重组不可忽视契税筹划

50个实用的jquery案例

50个jquery案例 1. 如何创建嵌套的过滤器: //允许你减少集合中的匹配元素的过滤器, //只剩下那些与给定的选择器匹配的部分.在这种情况下, //查询删除了任何没(:not)有(:has) //包含class为“selected”(.selected)的子节点. .filter(":not(:has(.selected))") 2. 如何重用元素搜索 var allItems = $("div.item"); var keepList = $("

_00017 Kafka的体系结构介绍以及Kafka入门案例(初级案例+Java API的使用)

博文作者:妳那伊抹微笑 个性签名:世界上最遥远的距离不是天涯,也不是海角,而是我站在妳的面前,妳却感觉不到我的存在 技术方向:Flume+Kafka+Storm+Redis/Hbase+Hadoop+Hive+Mahout+Spark ... 云计算技术 转载声明:可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明,谢谢合作! qq交流群:214293307  (期待与你一起学习,共同进步) # Kfaka的体系结构 # 学习前言 Kafka的整个学习过程就是自己看官网的文档,出