美文网首页
自定义事件js

自定义事件js

作者: 贫下码农 | 来源:发表于2018-07-19 19:47 被阅读0次

title: 自定义事件
date: 2017-06-06 15:36:04
tags: 自定义事件


js的自定义事件

code


function EventTarget() {
    this.handlers = {};
}

EventTarget.prototype = {
    constructor: EventTarget,
    addHandler: function(type, handler) {
        if (typeof this.handlers[type] == 'undefined') {
            this.handlers[type] = [];
        }
        this.handlers[type].push(handler);
    },
    fire: function(type, event) {
        if (!event.target) {
            event.target = this;
        }
        if (this.handlers[type] instanceof Array) {
            var handlers = this.handlers[type];
            for (var i = 0, len = handlers.length; i < len; i++) {
                handlers[i](event);
            }
        }
    },
    remove: function(type, handler) {
        if (this.handlers[type] instanceof Array) {
            var handlers = this.handlers[type];
            for (var i = 0, len = handlers.length; i < len; i++) {
                if (handlers[i] === handler) {
                    break;
                }
            }
            handlers.splice(i, 1);
        }
    }
};

usage

var target = new EventTarget();
//事件处理函数
function fn(event){
  console.log(event);
}
//注册事件
target.addHandler('testEvent', fn);
//触发事件
target.fire('testEvent', {name : 'Cloud'});//第二个参数是传递的内容,可自定义

用处

  • 可以用于界面间的传值
  • 创建松耦合的代码

相关文章

  • 自定义事件js

    title: 自定义事件date: 2017-06-06 15:36:04tags: 自定义事件 js的自定义事件...

  • jQuery例子记录(持续更新)

    目录: 1.自定义事件2.操作DOM(与JS原生对比) 1.自定义事件 绑定自定义事件: 事件名称refresh....

  • JS中的事件

    JS中的事件 一:自定义事件 1.使用Event自定义事件 使用Event接口,可以自定义事件。但是该接口无法在事...

  • mitt

    安装 js 引入: 发送mybus.emit('自定义事件名称','数据');接收mybus.on('自定义事件名...

  • Markdown

    touch.js学习 准备工作 引用 touch.js是百度开源的一套支持原生js事件和自定义事件的js库...

  • MarkDown学习

    touch.js学习 准备工作 touch.js是百度开源的一套支持原生js事件和自定义事件的js库js中包含很多...

  • MARKDOWN学习?

    touch.js学习 准备工作 touch.js是百度开源的一套支持原生js事件和自定义事件的js库js中包含很多...

  • touch.js

    touch.js学习 touch.js是百度开源的一套支持原生js事件和自定义事件的js库js中包含很多这种库 封...

  • IFE2017,动态数据绑定(二)学习笔记

    自定义事件 我们知道JS里绑定事件有addEventListener()这个方法。在JS中我们可以这样创建一个自定...

  • MarkDown学习

    touch.js学习 1.准备工作 touch.js是百度开源的一套支持原生js事件和自定义事件的js库js中包含...

网友评论

      本文标题:自定义事件js

      本文链接:https://www.haomeiwen.com/subject/ushxmftx.html