* javascript自定义事件

var myEvent = document.createEvent("Event");
myEvent.initEvent("myEventName", true, true); var element = document.createElement("div");
element.addEventListener("myEventName", function(evt) {
console.log(evt);
// handle event
});
element.dispatchEvent(myEvent);

  output:

Event {isTrusted: false, type: "myEventName", target: div, currentTarget: div, eventPhase: 2, …}

@Ref:

// Function synopsis
event.initEvent(eventType,canBubble,cancelable)

Usage:

function trigger(dom, event) {
var myEvent = document.createEvent('Event')
myEvent.initEvent(event, true, true);
dom.dispatchEvent(myEvent);
}
trigger(tab, "mouseover");

* 发布-订阅 模式

var salesOffices = {
clientList: [],
listen:function(fn) {
this.clientList.push(fn);
},
trigger: function() {
for (var i = 0, fn; fn = this.clientList[i]; i++) {
fn.apply(this, arguments);
}
return this;
}
}; // test
salesOffices.listen(function(price, squareMeter) {
console.log("price="+price);
console.log("squareMeter=" + squareMeter);
});
salesOffices.trigger(2000000,88).trigger(3000000,110);

  

javascript 自定义事件 发布-订阅 模式 Event的更多相关文章

  1. Javascript中理解发布--订阅模式

    Javascript中理解发布--订阅模式 阅读目录 发布订阅模式介绍 如何实现发布--订阅模式? 发布---订阅模式的代码封装 如何取消订阅事件? 全局--发布订阅对象代码封装 理解模块间通信 回到 ...

  2. [转] Javascript中理解发布--订阅模式

    发布订阅模式介绍 发布---订阅模式又叫观察者模式,它定义了对象间的一种一对多的关系,让多个观察者对象同时监听某一个主题对象,当一个对象发生改变时,所有依赖于它的对象都将得到通知. 现实生活中的发布- ...

  3. 【转】Javascript中理解发布--订阅模式

    Javascript中理解发布--订阅模式 阅读目录 发布订阅模式介绍 发布---订阅模式又叫观察者模式,它定义了对象间的一种一对多的关系,让多个观察者对象同时监听某一个主题对象,当一个对象发生改变时 ...

  4. javascript中的发布订阅模式与观察者模式

    这里了解一下JavaScript中的发布订阅模式和观察者模式,观察者模式是24种基础设计模式之一. 设计模式的背景 设计模式并非是软件开发的专业术语,实际上设计模式最早诞生于建筑学. 设计模式的定义是 ...

  5. [转] JavaScript设计模式之发布-订阅模式(观察者模式)-Part1

    <JavaScript设计模式与开发实践>读书笔记. 发布-订阅模式又叫观察者模式,它定义了对象之间的一种一对多的依赖关系.当一个对象的状态发生改变时,所有依赖它的对象都将得到通知. 例如 ...

  6. JavaScript设计模式(发布订阅模式)

    发布—订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知.在JavaScript开发中,我们一般用事件模型来替代传统的发布—订阅模式 ...

  7. Javascript设计模式之发布-订阅模式

    简介 发布-订阅模式又叫做观察者模式,他定义了一种一对多的依赖关系,即当一个对象的状态发生改变的时候,所有依赖他的对象都会得到通知. 回忆曾经 作为一名前端开发人员,给DOM节点绑定事件可是再频繁不过 ...

  8. JavaScript设计模式_05_发布订阅模式

    发布-订阅模式,定义了对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都将得到通知.发布-订阅模式是使用比较广泛的一种模式,尤其是在异步编程中. /* * pre:发布-订阅 ...

  9. javaScript设计模式:发布订阅模式

    发布订阅模式的思想是在观察者模式的基础上演变而来,在观察者模式中客户端监听到对象某个行为就触发对应任务程序.而在发布订阅模式中依然基于这个核心思想,所以有时候也会将两者认为是同一种设计模式.它们的不同 ...

随机推荐

  1. 【原创】JavaFx程序解决Jupyter Notebook导出PDF不显示中文

    0.ATTENTION!!! JavaFx里是通过Java调用控制台执行的的jupyter和xelatex指令, 这些个指令需要在本地安装Jupyter和MikTeX之后才能正常在电脑上运行 1.[问 ...

  2. 从自旋锁、睡眠锁、读写锁到 Linux RCU 机制讲解

    ​    同步自我的 csdn 博客 6.S081 从自旋锁.睡眠锁.读写锁到 Linux RCU 机制讲解_我说我谁呢 --CSDN博客 总结一下 O/S 课程里面和锁相关的内容. 本文是 6.S0 ...

  3. redis和memecache有什么区别?

    1.memcache所有值均是简单地字符串,redis有复杂的数据类型. 2.memcache不支持数据持久化,redis支持数据持久化. 3.redis速度比memcache快,redis构建了自己 ...

  4. RocketMQ可视化控制台

    中午文档 https://github.com/apache/rocketmq-externals/blob/master/rocketmq-console/doc/1_0_0/UserGuide_C ...

  5. Collectors.reducing总结

    Collectors.reducing总结 1. 方法签名 一个参数 public static <T> Collector<T, ?, Optional<T>> ...

  6. 在ASP.NET Core调用WebService

    一.前言 现实生产中,有一些比较老的系统对外提供的接口都是WebService形式的,如果是使用.NET Framework创建的项目调用WebService非常方便,网上有很多代码示例,这里不在讲解 ...

  7. C++指向函数的指针数组

    可以定义一个指针,指向一个函数,还 可以定义一个指向函数的指针数组,每个元素都是一个指向函数的指针,不过,它们指向的函数的格式都是相同的. 代码如下 //指向函数的指针数组 #include<i ...

  8. C#设计模式---单例模式(Singleton Pattern)

    一.定义 从"单例"字面意思上理解为一个类只有一个实例.官方定义:确保一个类只有一个实例,并提供一个全局访问点. 二.实现 下面以实现一个日志记录类为例,描述单例模式. 1 usi ...

  9. IO流(File类--递归--过滤器--IO字节流--IO字符流--Properties集合--缓冲流--转换流--序列化流--打印流)

    一.File类 1.1概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 1.1.1相对路径与绝对路径 相对路径从盘符开始的路径,这是一个完整 ...

  10. go实现堆排序

    package main import "fmt" func main(){ arr:=[]int{4,8,2,1,6,9,3,5,7,8,1,4} dui(arr) fmt.Pr ...