为了账号安全,请及时绑定邮箱和手机立即绑定

对 Jquery 的 Tigger 有点疑问

对 Jquery 的 Tigger 有点疑问

牧羊人nacy 2019-03-15 14:10:34
class Plugin {  constructor(element, options) {    this._setup(element, options);    var pluginName = getPluginName(this);    this.uuid = GetYoDigits(6, pluginName);    if(!this.$element.attr(`data-${pluginName}`)){ this.$element.attr(`data-${pluginName}`, this.uuid); }    if(!this.$element.data('zfPlugin')){ this.$element.data('zfPlugin', this); }    /**     * Fires when the plugin has initialized.     * @event Plugin#init     */    this.$element.trigger(`init.zf.${pluginName}`);  }  destroy() {    this._destroy();    var pluginName = getPluginName(this);    this.$element.removeAttr(`data-${pluginName}`).removeData('zfPlugin')        /**         * Fires when the plugin has been destroyed.         * @event Plugin#destroyed         */        .trigger(`destroyed.zf.${pluginName}`);    for(var prop in this){      this[prop] = null;//clean up script to prep for garbage collection.    }  }}这段代码里面的this.$element.trigger(`init.zf.${pluginName}`);不是很懂,代码里面没有声明任何 "init.zf.xxx" 这类事件,那这个 trigger 触发的是什么?
查看完整描述

2 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

这个事件是提供给使用者使用的,不需要在这里声明,比如element.on(”xxx”,function(){})


查看完整回答
反对 回复 2019-04-03
?
呼唤远方

TA贡献1856条经验 获得超11个赞

The constructor should also call an _init() method, and if needed an _events() method, followed by a DOM event indicating that the plugin is done being initialized.


function Plugin(element, options) {

  // ...


  this._init();

  this._events();

  this.$element.trigger('init.zf.plugin');

}

看到官网的这个表述:followed by a DOM event indicating that the plugin is done being initialized,感觉很迷


查看完整回答
反对 回复 2019-04-03
  • 2 回答
  • 0 关注
  • 430 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信