是否可以在视图内的body元素上绑定事件?
例如,这不起作用
Backbone.View.extend({
el : "#some element here",
events : {
"mouseup body" : "onMouseUp"
}
});
提前致谢
答案 0 :(得分:1)
我认为不可能。
Backbone.View.events内部使用this.$el.delegate,内部使用CSS selector doesn't support upwards selection。
您可以在position: absolute
DOM元素中添加el
div,并使其透明并全屏显示。然后从那里捕获事件。
答案 1 :(得分:1)
嗯,我觉得我找到了一个有效的解决方案!
在初始化函数中我做
$('body').bind('mouseup', this.onMouseUp);
它就像魅力一样! :)击>
修改强>
实际上这有一个很大的问题!这是绑定在身体而不是视图上。所以我有一个参数“按下”,当我用this.pressed访问它时,它试图在体内找到它....
修改强>
我发现上述问题的解决方案是将绑定参数传递给它,如:
$('body').bind('mouseup',{thisView : this}, this.onMouseUp);
现在它就像魅力一样:P