Backbone.js 从视图内部绑定主体元素上的事件

Backbone.js 从视图内部绑定主体元素上的事件,backbone.js,Backbone.js,是否可以在视图中绑定body元素上的事件 例如,这不起作用 Backbone.View.extend({ el : "#some element here", events : { "mouseup body" : "onMouseUp" } }); 提前谢谢我想这是不可能的 内部使用看起来像的内部使用 您可以将position:absolutediv添加到elDOM元素中,使其透明并全屏显示。然后从那里捕获事件。我想我找到了一个有效的解决方案 在初始化函数中,我执行 $(

是否可以在视图中绑定body元素上的事件

例如,这不起作用

Backbone.View.extend({
  el : "#some element here",
  events : {
    "mouseup body" : "onMouseUp"
  }
});

提前谢谢

我想这是不可能的

内部使用看起来像的内部使用


您可以将
position:absolute
div添加到
el
DOM元素中,使其透明并全屏显示。然后从那里捕获事件。

我想我找到了一个有效的解决方案

在初始化函数中,我执行

$('body').bind('mouseup', this.onMouseUp);
而且它的效果就像魅力一样!:)

编辑

事实上,这有一个大问题!这是绑定在主体上,而不是视图上。所以我有一个参数“pressed”,当我用这个来访问它时,pressed试图在身体中找到它

编辑

我发现上述问题的解决方案是在bind参数中传递对以下内容的引用:

$('body').bind('mouseup',{thisView : this}, this.onMouseUp);

现在它就像魅力一样:p

我仍然认为我的答案与你的问题“可能吗…”相匹配你是对的,不可能有一个“mouseup body”:“methodhere”在不同的视图中el@fguillen你能看到我编辑过的答案吗。我该如何解决这个问题?永恒的JS上下文dilema:)。。你可以用不同的方法解决这个问题。1) ,2),3),4)(当然还有更多)很酷,我理解代理,但我如何使用bindAll?最优雅的方式是什么?