订阅事件时传递函数参数

Pass function parameter while subscribing to an event

本文关键字:传递函数 参数 事件      更新时间:2023-09-26

我正在为自定义事件使用以下jquery pubsub:

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

我订阅了这样一个活动:

 $.subscribe("VALIDATE_ADDRESS", this.validateAddress);

问题:在订阅validateAddress方法时,如何将一些数据传递给它?

Us a function wrapper(对于this,您可能无论如何都应该这样做):

var obj = this;
$.subscribe("SOMETHING", function() {
  obj.validateAddress(someData, someOtherData);
});