是否可以在视图内的 body 元素上绑定事件?
例如这不起作用
Backbone.View.extend({
el : "#some element here",
events : {
"mouseup body" : "onMouseUp"
}
});
提前致谢
是否可以在视图内的 body 元素上绑定事件?
例如这不起作用
Backbone.View.extend({
el : "#some element here",
events : {
"mouseup body" : "onMouseUp"
}
});
提前致谢
我认为是不可能的。
Backbone.View.events在内部使用this.$el.delegate,它在内部使用看起来不支持向上选择的CSS 选择器。
您可以改为将position: absolute
div 添加到您的el
DOM 元素中,并使其透明并全屏显示。然后从那里捕获事件。
好吧,我想我找到了一个可行的解决方案!
在我做的初始化函数中
$('body').bind('mouseup', this.onMouseUp);
它就像魅力一样!:)
编辑
其实这是一个很大的问题!this 绑定在主体上而不是视图上。所以我有一个参数“pressed”,当我用 this.pressed 访问它时,它会尝试在正文中找到它......
编辑
我发现上述问题的解决方案是在绑定参数中传递对此的引用,例如:
$('body').bind('mouseup',{thisView : this}, this.onMouseUp);
现在它就像魅力一样工作:P