JavaScript,MooTools-Class.Event-onComplete:默认情况下不执行任何操作
我希望通过实现JavaScript,MooTools-Class.Event-onComplete:默认情况下不执行任何操作,javascript,class,mootools,Javascript,Class,Mootools,我希望通过实现Events并使用this.firefevent(“complete”),可以在我的MooTools类中使用onComplete事件。默认情况下,我只想让类什么都不做。那么,您如何以最干净、最安全的方式实现默认的“无所事事”呢 我是否应该在默认的类选项对象中省略选项onComplete,而在上下文中仍然使用this.firevent(“complete”)?或者这会导致错误还是什么?我只是一直这样做,但我不确定这是否是最好的方式 如果(this.options.onComplete
Events
并使用this.firefevent(“complete”)
,可以在我的MooTools类中使用onComplete事件。默认情况下,我只想让类什么都不做。那么,您如何以最干净、最安全的方式实现默认的“无所事事”呢
我是否应该在默认的类选项对象中省略选项onComplete
,而在上下文中仍然使用this.firevent(“complete”)
?或者这会导致错误还是什么?我只是一直这样做,但我不确定这是否是最好的方式
如果(this.options.onComplete&&instanceOf(this.options.onComplete,Function)){this.firevent(“complete”)},您会使用类似于的内容吗?或者指定一个空函数作为默认值,比如选项:{onComplete:function(){}
我现在不关心最短的代码,但我想知道如何以最符合要求和节省内存的方式来完成它
谢谢你的推荐!:) 好问题。请查看MooTools的功能:
if (!events || !events[type]) return this;
如您所见,当未找到事件时,fireEvent将仅返回当前实例。因此,省略onComplete
并保留this.firevent('complete')
不会产生任何错误或奇怪的行为
我甚至不会在选项中指定空函数。如您所见,这些事件只是没有定义,仅使用注释提及,以便人们知道它们存在并且可以使用:
options: {
//onComplete: $empty
}
谢谢你的快速回答。那太好了