澄清:
我只针对支持createEvent,addEventListener等的现代浏览器....
题
我的意思是本机,用JavaScript.搜索显示他们没有使用createEvent().
我在文档中查找答案,但没有找到任何答案.
我createEvent()在这里搜索了源代码,但没有点击.
骨干如何从母语角度实现事件?
他们使用观察者模式吗?
如果JavaScript已经有自定义事件(via createEvent()),并且事件监听器也可用(addEventListener()为什么他们不使用内置事件?
除了骨干视图之外,将本机事件用于任何事情都没有意义.骨干提供了事件管理模式,集合,和一般
本机事件(via createEvent,addEventListener)绑定到DOM节点.模型和集合不与DOM节点相关联 - 您必须跳过许多不必要的环节来重用该代码.
不是,不是. Backbone.Events与发布 - 订阅模式更接近.对象维护命名事件(via on)的事件侦听器列表,然后该对象在触发trigger事件时触发对这些侦听器的调用.
Backbone的核心是每个事件维护一个事件监听器数组(在骨干的旧版本中,它曾经使用链表;这个速度较慢).每个对象都维护自己的侦听器列表; 没有中央登记处.
在trigger,骨干调用所有为该事件注册的监听器; 它还会为特殊all事件调用任何听众.
| 归档时间: |
|
| 查看次数: |
1509 次 |
| 最近记录: |