问答详情
源自:12-3 自定义事件实现(二)

如何处理带参数的自定义事件

如何处理带参数的自定义事件

提问者:wens 2016-12-24 17:23

个回答

  • qianduancainiao
    2017-03-12 11:52:04

    mark一下

  • Trisroland
    2016-12-27 10:01:44

    不太明白你的意思是什么带参数的自定义事件,这里的参数是需要在fire里面传进去的你可以在fire函数里面这样写:

    var args = Array.prototype.slice.apply(arguments).slice(1);
    handlers[i](data)改为handlers[i].apply(this, args)


  • chenzesam
    2016-12-26 14:01:39

    on方法的时候传入的handler函数判断是否有参数,如果有就覆盖默认值然后继续调用。如果没有的话就使用默认值调用函数。   判断是否有参数使用arguments,顺便告诉你,如果没有参数的话arguments不是null而是{},可以使用for in 进行判断