jquery事件的发布订阅

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">

</head>
<script
 src="http://code.jquery.com/jquery-latest.js"></script>
<body>
<script type="text/javascript"> 

(function($) {
      var o = $({});
      $.subscribe = function() {
          o.on.apply(o, arguments);
      };
      $.unsubscribe = function() {
          o.off.apply(o, arguments);
      };
      $.publish = function() {
          o.trigger.apply(o, $.makeArray(arguments));
      };
})(jQuery);

//订阅
$.subscribe("test", function(e, a1, a2, a3, a4) {
  console.log(e.type + "," + a1 + "," + a2 + "," + a3 + "," + a4);
});

//发布
$.publish("test", ["a", "b", "c", "d"]);

</script>

</script>
</html>

时间: 2024-10-29 21:01:15

jquery事件的发布订阅的相关文章

Jquery 自定义事件实现发布/订阅

1 //用户点击logoff按钮时,广播一个自定义事件,给任何需要保存状态的感兴趣的观察者,然后导航到logoff页面 2 3 $('#logoff').click(function(){ 4 $.event.trigger("logoff");//广播一个事件 5 window.location = "logoff.php";//导航到新页面 6 });

js 自定义事件观察者模式(发布/订阅)

/* * 示例: * Event.create("namespace1").listen('click', function(a){ * console.log(a); * }); * Event.create("namespace1").trigger("click", 1); */ window.myEvent = (function() { var global = this, Event, _default = 'default'; Ev

Vue发布-订阅者模式

1.vue响应原理: vue.js采用数据劫持结合发布-订阅者模式,通过Object.defineProperty()来劫持data中各个属性的setter.getter,在数据变动时,发布消息给订阅者,触发响应的监听回调. (setter和getter是对象的存储器属性,是一个函数,用来获取和设置值) 2.发布-订阅者模式的作用: 处理一对多的场景,应用于不同情况下的不同函数调用 优点:低耦合性,易于代码维护: 缺点:若订阅的消息未发生,需消耗一定的时间和内存. <!DOCTYPE html>

微信开发订阅号(ASP.NET MVC4+jquery mobile+AppHarbor发布)

首先应该去微信公众平台注册一个账号,因为我是用的个人,所以只能注册订阅号,然后需要提供身份证照片,这些大家慢慢折腾.然后在微信管理面板中选择高级功能,进入开发者模式. 在服务器配置中需要提供最重要的url,用来接收微信发过来的消息和回复消息,token这个随便填一个就行了,主要是用来验证消息来源. 如果你是java php开发者,那么你可以选google AppEngin 或者sina app engine 来部署你的应用,但是很不幸,我是.net,这里我们使用国外的AppHarbor,appH

C# 委托和事件 与 观察者模式(发布-订阅模式)讲解 by天命

使用面向对象的思想 用c#控制台代码模拟猫抓老鼠 我们先来分析一下猫抓老鼠的过程 1.猫叫了 2.所有老鼠听到叫声,知道是哪只猫来了 3.老鼠们逃跑,边逃边喊:"xx猫来了,快跑啊!我是老鼠xxx" 一  双向耦合的代码 首先需要一个猫类Cat 一个老鼠类Rat 和一个测试类Program 老鼠类的代码如下 //老鼠类 public class Rat { public string Name { get; set; } //老鼠的名字 public Cat MyCat { get;

nodejs事件发布/订阅Emitter的使用

nodejs事件发布/订阅Emitter的使用 by 伍雪颖 var events = require('events'); var emitter = new events.EventEmitter(); emitter.on("event1",function (message) { console.log(message); }); emitter.emit('event1',"I am message");

Android EventBus发布/订阅事件总线

做过Android开发都会陆续用到这个开源库EventBus.EventBus是一款针对Android优化的发布/订阅事件总线.主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅.以及将发送者和接收者解耦.下载EventBus的类库源码:https://github.com/greenrobot/EventBus.下面说说简单用法. 本文项目资源下载: 一.先定义一个消息实体类MainSe

异步编程解决方案之事件发布/订阅模式

时间监听模式是广泛用于异步编程的模式,是回调函数的事件化,又称不发订阅模式. nodejs的events模块就是发布订阅模式的一个简单实现,不存在preventDefault,stopPropagation,stopImmediatePropagation,等控制事件传递的方法. 它具有addListner/on(),once(),removeListner(),removeAllLisetner()和emit等基础监听事件方法. 事件发布/订阅十分简单,如下: //订阅 emitter.on(

Javascript异步编程方法之------“发布/订阅”

Javascript异步编程方法之------“发布/订阅”我们假定,存在一个"信号中心",某个任务执行完成,就向信号中心"发布"(publish)一个信号,其他任务可以向信号中心"订阅"(subscribe)这个信号,从而知道什么时候自己可以开始执行.这就叫做"发布/订阅模式"(publish-subscribe pattern),又称"观察者模式"(observer pattern).这个模式有多种实现