我们刚刚讨论了事件名称是使用现在形式还是过去形式。事实是,事件通常在发生某些事情后触发:
store.save(object)
store.trigger("create", object)
我想知道是否有任何事件命名约定?使用过去的形式会更有意义,另一方面,我的印象是使用现在的形式被更广泛地使用。
有没有关于这个主题的好资源?你知道已知的 JavaScript 库使用过去的形式来表示它的事件吗?
我们刚刚讨论了事件名称是使用现在形式还是过去形式。事实是,事件通常在发生某些事情后触发:
store.save(object)
store.trigger("create", object)
我想知道是否有任何事件命名约定?使用过去的形式会更有意义,另一方面,我的印象是使用现在的形式被更广泛地使用。
有没有关于这个主题的好资源?你知道已知的 JavaScript 库使用过去的形式来表示它的事件吗?
我会用现在时。
大多数(如果不是全部)JavaScript 框架似乎都遵循 JavaScript DOM 事件 API 规定的约定。即对事件名称使用现在时。当我想到它时,这对我来说似乎是最自然的,尽管事实上事件是在触发后处理的。毕竟,事件是在 event name上触发的。无论执行什么动作来触发事件,它都会发生在事件循环的当前迭代中。换句话说:就事件循环而言,事件和触发事件的动作同时发生。
一些框架,例如YUI3,提供了一个after
钩子以及一个on
用于自定义事件的钩子。这种区别在 YUI 的属性库中使用(除其他外):
on
使用该方法注册的侦听器会在属性的存储状态更新之前收到通知。[...]由于这些侦听器在任何状态更改发生之前被调用,它们有能力防止状态更改发生 [...]
after
使用该方法注册的侦听器会在属性的存储状态更新后收到通知。
来源:http: //yuilibrary.com/yui/docs/attribute/index.html#on-vs-after
我个人不知道任何使用过去时作为事件名称的框架,但是我并不熟悉所有这些框架。
Bootstrap 为每个动作定义了两个事件。一个在开始动作时触发并使用现在时命名(例如show
)。另一个在动作完成后触发——这个以过去分词形式 ( shown
) 命名。
一切都在http://getbootstrap.com/javascript/#js-events下进行了解释
我想当动画开始发挥作用时,这种方法是有意义的。