开发者社区> 哈你真皮> 正文

JavaScript自定义事件

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

标题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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
JavaScript 函数和事件
JavaScript 函数和事件
20 0
javaScript 07 DOM事件进阶
DOM事件中事件流、事件委托、scroll、offset方法的使用
36 0
JavaScript 06 DOM-事件初步
事件监听、常见事件(焦点 鼠标 输入等事件)
32 0
js基础笔记学习221事件2
js基础笔记学习221事件2
18 0
js基础笔记学习250事件委派1
js基础笔记学习250事件委派1
82 0
js基础笔记学习249事件的冒泡2
js基础笔记学习249事件的冒泡2
17 0
js基础笔记学习248事件的冒泡1
js基础笔记学习248事件的冒泡1
15 0
js基础笔记学习252事件委派3
js基础笔记学习252事件委派3
10 0
js基础笔记学习251事件委派2
js基础笔记学习251事件委派2
11 0
js基础笔记学习254事件的捕获2
js基础笔记学习254事件的捕获2
9 0
+关注
哈你真皮
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
Javascript中的函数
立即下载
Javascript异步编程
立即下载
JS零基础入门教程(上册)
立即下载