onfire.js

事件订阅发布 JavaScript 库
授权协议 MIT
开发语言 JavaScript
所属分类 Web应用开发、 常用JavaScript包
软件类型 开源软件
地区 国产
投 递 者 西门经国
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

onfire.js 是一个很简单的事件分发的Javascript库(仅仅 0.9kb),简洁实用。

可以用于:

  • 简单的事件分发;

  • 在 react / vue.js / angular 用于跨组件的轻量级实现;

  • 事件订阅和发布;

API方法:

1.on(event_name, callback)

绑定事件,参数为event_name和callback, 当有名字为event_name的事件发生的时候,callback方法将会被执行。

这个方法会返回一个eventObj,这个可以用于使用un(eventObj)方法来取消事件绑定。

2.one(event_name, callback)

绑定(订阅)事件,参数为 event_name with callback. 当被触发一次之后失效。只能被触发一次,一次之后自动失效

3.fire(event_name, data)

触发名字为event_name的事件,并且赋予变量data为callback方法的输入值。

4.un(eventObj / eventName / function)

取消事件绑定。可以仅仅取消绑定一个事件回调方法,也可以直接取消全部的事件;

5.clear()

清空所有事件。

使用Demo:

1. 引入js文件

npm install onfire.js

可以使用<script>标签直接引入; 也可以使用require或者import关键字引入,会得到全局变量 onfire。

import onfire from 'onfire.js';

// or

var onfire = require("onfire.js");

2. 简单使用

使用方法on来订阅事件, 使用un来取消订阅, 使用fire方法来触发事件。

import onfire from 'onfire.js';

// 绑定事件
var eventObj = onfire.on('test_event', function(data) {
    console.log('this is a event 1');
});
var eventObj2 = onfire.on('test_event', function(data) {
    console.log('this is a event 2');
});

// 触发事件
onfire.fire('test_event', 'test_data');

// 取消绑定
onfire.un(eventObj); // 取消绑定这个事件.
onfire.un('test_event'); // 取消绑定所有的 `test_event`.
  • onfire.js 详细介绍 onfire.js 是一个很简单的事件分发的Javascript库(仅仅 0.9kb),简洁实用。 可以用于: 简单的事件分发; 在 react / vue.js / angular 用于跨组件的轻量级实现; 事件订阅和发布; API方法: 1.on(event_name, callback) 绑定事件,参数为event_name和callback, 当有名字为eve

  • 一、onfire.js介绍 一个简单实用的事件订阅和发布的库。 onfire.js 的 github地址 二、API介绍 函数 说明 on(eventName, callback, context) 订阅eventName事件,当事件触发时,回调callback one(eventName, callback, context) 订阅eventName事件,当事件触发时,只回调一次callback

  • 百度上搜索都知道调用iframe下的js都是用   document.getElementById('iframe_id').contentWindow.iframe_function()   有的情况下 iframe,是不可见的,此时需要注意一个问题   设置iframe不可见 style="display:none" 时,运用上面js在ie,chrome下均能运行,而在firefox下面无效,

  •   常见fire fox不支持js的问题 如cards/CardAdmin/ExportMemData.vm页面 要检查页面的脚本是否闭合({}完整),是否有某个方法不正确所引起的。 --------------------------------------------------------------------------------------------- scm/ProductAdm

  • 1、使用websocket替换原本无法在原生平台使用的socket。 2、事件分发开源库onfire的使用 3、一些注意事项 1、使用websocket替换原本无法在原生平台使用的socket。 其实我已经用node.js搭建好了后台,却发现原生平台无法使用,总是直接调用disconnect,所以听从网上的建议选择了websocket。 对于websocket的使用比较害怕,因为,命名的名字也不一

  •   <body rid='2611494097' xmlns='http://jabber.org/protocol/httpbind' sid='dfd121f0'>   <message to='wq@lijueqing' from='ljq@lijueqing' type='chat' xmlns='jabber:client'>     <body>hello</body>   </mes

  • // 方法1 function keyUp(e) { if(navigator.appName == "Microsoft Internet Explorer"){ var keycode = event.keyCode; var realkey = String.fromCharCode(event.keyCode); } else { var keycode = e.which

  •   打开TOOLS -> dom inspector , 左侧选中某个控件后, 右侧可以选择 JAVASCRIPT OBJECT   通过自带工具调试javascript   TOOLS -> JavaScript Console   打开所有js警告:   在地址栏里录入:about:config   双击,设置 javascript option restict 打开为true 能够看到很多警

  • 原文地址:js中onkeydown事件,兼容IE和FF 作者:老怪 概念onkeypress、onkeyup、onkeydown区别: onkeypress 这个事件在用户按下并放开任何字母数字键时发生。系统按钮(例如,箭头键和功能键)无法得到识别。 onkeyup 这个事件在用户放开任何先前按下的键盘键时发生。 onkeydown 这个事件在用户按下任何键盘键(包括系统按钮,如箭头键和功能

 相关资料
  • 我在WPF中编写代码,其中有两个视图模型。在一个视图模型中,我正在关闭一个prism弹出窗口,在关闭时,我将调用我的发布方法,如: 而我的subscribe事件如下所示: 以下是这两个类接收事件聚合器的方式: 这是我的第二堂课: 每次取消交互时,发布都会被发布,但不会被调用,因为订阅。 在具有subscribe方法的其他类之前被调用。会有问题吗?我只想在交互完成时初始化我的集合视图,而不破坏MVV

  • 简介 Redis 的列表类型键可以用来实现队列,并且支持阻塞式读取,所以 Redis 能够非常容易的实现一个高性能的优先队列。同时在更高层面上,Redis 还支持“发布/订阅”的消息模式,可以基于此构建一个聊天系统。 发布示例 发布(Publish)即将消息发布到频道中。示例代码: // 发送消息 Redis::publish('chan-1', 'Hello, World!'); // 发送消息

  • 我正试图开发一个Azure函数来处理由事件中心的捕获功能创建的blob。然而,尽管捕获blobs被正确地存储在容器中,但似乎没有< code>Microsoft。EventHub . capturefile created 事件发布到函数订阅。功能endpoint的事件订阅已创建,没有错误,Azure CLI的输出为 该函数的主体是一个标准的Http触发器,其中包含事件网格endpoint订阅所需

  • Node.js应用程序可以使用composer-client.BusinessNetworkConnection.onAPI调用从业务网络订阅事件。事件在业务网络模型文件中定义,并由交易处理函数文件中的指定交易处理。有关发布事件的更多信息,请参阅发布事件。 在你开始之前 在应用程序可以订阅事件之前,你必须定义一些事件和发送它们的交易。还必须部署业务网络,并且必须具有可连接到该业务网络的连接配置文件

  • 主要内容:发布/订阅流程,常用命令汇总,基本命令应用Redis PubSub 模块又称发布订阅者模式,是一种消息传递系统,实现了消息多播功能。发布者(即发送方)发送消息,订阅者(即接收方)接收消息,而用来传递消息的链路则被称为  channel。在 Redis 中,一个客户端可以订阅任意数量的 channel(可译为频道)。 消息多播:生产者生产一次消息,中间件负责将消息复制到多个消息队列中,每个消息队列由相应的消费组进行消费,这是分布式系统常用的

  • 发布/订阅 消息顺序 当使用 pub/sub API的时候,你需要做一个决定:那就是对于来自同一个连接的消息是应该按顺序处理还是应该并行处理。 按顺序处理意味着你不需要关心线程安全,并且保持了事件的顺序;消息会以完全相同的顺序接收处理(通过队列),因此,这意味着消息能够被相互延迟。 另外一种选择是并发处理。使用并发处理 不能保证 工作处理的有序性,并且你的代码要对并行消息完全负责确保它不会破坏内部

  • 发布和订阅 Meteor 服务端可以通过Meteor.publish发布文档集,同时客户端可以通过Meteor.subscribe订阅这些发布。 任何客户端订阅的文档都可以通过find方法进行查询使用。 默认情况下,每个新创建的 Meteor 应用包含有 autopublish 包,它会自动为每个客户端发布所有可用的文档。 为了可以更细化的控制不同客户端所接收的数据文档,首先应该在终端移除 aut

  • Redis 通过 PUBLISH 、 SUBSCRIBE 等命令实现了订阅与发布模式, 这个功能提供两种信息机制, 分别是订阅/发布到频道和订阅/发布到模式, 下文先讨论订阅/发布到频道的实现, 再讨论订阅/发布到模式的实现。 频道的订阅与信息发送 Redis 的 SUBSCRIBE 命令可以让客户端订阅任意数量的频道, 每当有新信息发送到被订阅的频道时, 信息就会被发送给所有订阅指定频道的客户端