zoukankan      html  css  js  c++  java
  • JavaScript自定义事件

    标题JavaScript自定义事件

    最近遇到一个基于jQuery项目,项目中的功能节点页面都是通过iframe实现,但是各个iframe之间有时需要相互通信,互相相应一些事件,为了更愉快的编码所以想到了自定义事件,还别说用起来竟然有点像vue的组件通信

    
    top.events = {
        on: function (name, func) {
          if(!this.handles){
            this.handles = {};
          }
          if(!this.handles[name]){
            this.handles[name] = '';
          }
          else this.handles[name] = func;
        },
        emit: function (name) {
          if(this.handles[name]){
            //arguments是伪数组所以通过call来使用slice
            this.handles[name].apply(null, Array.prototype.slice.call(arguments, 1));
          }
        },
        destory: function (name) {
          if(this.handles && this.handles[name]) delete this.handles[name];
        }
      };
    
    
    //绑定
    top.events.on('test', function() {});
    
    //触发
    top.events.emit('test', param));
    
    //销毁
    top.events.destory('test');
    

    来源:https://segmentfault.com/a/1190000017497498

  • 相关阅读:
    Android 手势&触摸事件
    vim常用命令总结
    关于背景中的雪花
    博客园美化——看板娘
    组合数
    扩展欧几里得和求逆元
    dfs序
    RMQ问题
    NOIP2017 列队
    线段树详解
  • 原文地址:https://www.cnblogs.com/lalalagq/p/10229209.html
Copyright © 2011-2022 走看看