【发布时间】:2011-09-26 03:23:53
【问题描述】:
如何在 Backbone.js 的视图类中添加动态事件
我有一个带有
的视图类var myViewClass = Backbone.View.extend({
events: {
'change select': 'changeSelect',
'click a.changeLink': 'clearSelect'
},
initialize: function() {
this.delegateEvents({'click select': 'changeSelect'});
},
.
.
.
});
这是添加 {'click select': 'changeSelect'} 事件,但不知何故 {'click a.changeLink': 'clearSelect'} 不会工作。
有人知道解决办法吗?
谢谢, 罗汉
【问题讨论】:
-
你能用 changeLink 类显示锚标记的 html 吗?还有可能是方法 clearSelect?
-
通过在 delegateEvents 中传递事件,我相信您正在覆盖 events 属性,因此它们将不再起作用。目前尚不清楚您要在这里做什么。为什么不将所有事件放在事件哈希中的一个位置?例如,为什么需要通过 delegateEvents 函数调用添加特定的事件选择器?
-
@Bill 你是对的,delegateEvents 中的第二条指令是
$(this.el).unbind();。看起来 Rohan 根本不应该调用 delegateEvents。声明 events 对象就足够了。
标签: javascript events backbone.js