【问题标题】:JavaScript Framework to just subscribe & fire custom events?JavaScript 框架仅订阅和触发自定义事件?
【发布时间】:2012-10-15 19:18:01
【问题描述】:

JavaScript 框架仅用于监听/订阅和触发/触发类似于 Backbone.Events 的自定义事件?

只是好奇我是否缺少任何 JS 迷你/微型框架/lib...

Backbone.Events 会这样做,但是只是 会这样做的任何小型框架/lib,还是更简单/更好?

谢谢。

【问题讨论】:

  • 解读:作者是什么意思?
  • Backbone.Events 非常简单,您可以在几分钟内提取它或在几个小时内复制它。
  • 您可以非常轻松地编写自己的代码,只需保留 (eventName, callback) 对的内部对象并公开 publishsubscribe 函数。
  • 自己制作也是一种很棒的学习体验。实施起来非常容易。正如 mu 太短所说,您可以将 Backbone.Events 从库中拉出。它是 80 行代码和 32 行 cmets。

标签: javascript events backbone.js frameworks


【解决方案1】:

最简单的方法 - 如果你使用 jQuery - 是使用 jQuery.trigger (相当于发布)和 jQuery.bind (相当于订阅)。还有jQuery.unbind(取消订阅)。

您可以将它们与 DOM 事件以及自定义事件一起使用。

//Subsribe to my custom Event
$(document).bind('MyCustomEvent', function() {
  alert('Reacting to my custom event ..');
});

// .... somewhere else in the code, publish the event
jQuery.event.trigger('MyCustomEvent');
//or $(document).trigger('MyCustomEvent');

[从 jquery 文档更新]

(从 jQuery 1.7 开始,.on() 和 .off() 方法优先于 在元素上附加和删除事件处理程序。)

【讨论】:

    【解决方案2】:

    我与使用publish/subscribe 模式的Chaplin 合作。
    您可以寻找一些“调解人”,例如 Core.jsPubSubSignal-js
    参考和用户反馈in this post

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-18
      • 1970-01-01
      相关资源
      最近更新 更多