模型中有一个带有事件的“视图” click
。使用 jQuery 的流沙效果插件后,对象失去了它们的事件处理程序。我试图在backbone.js中使用标准方法为事件添加监听器:
events: {
"click .objContact" : "openChat"
}
和相同的工具 jQuery delegate
:
var self=this;
this.$el.delegate('.objContact','click', function(){
self.openChat();
});
和live
:
var self=this;
this.$el.find('.objContact').live('click', function(){
self.openChat();
});
但click
事件消失了。可能是什么问题呢?我该如何解决?
UPD:调用'Quicksand'是在Backbone.Router中(可能变化是通过jQuery直接获取的,不是Backbone),所以Backbone.View中不处理变化
UPD 2:问题通过以下方式解决 - 通过将click
事件的处理从 View-model 移动到 View-collection。并接受现场治疗(未工作on
)