是否可以在视图中将事件处理程序(例如,在mouseup上)绑定到文档?
我想做这样的事情:
var someView = Backbone.View.extend({
el: "#someDIV",
initialize: function (options) { /* ... */ },
events: {
"mousedown" : "mousedownHandler", // on #someDIV
"mouseup" : "mouseupHandler" // this should be on document (global mouseup)
},
mousedownHandler: function (e) { /* ... */ },
mouseupHandler: function (e) { /* ... */ }
});
这是可能的,还是我必须在初始化时使用单独的jQuery事件绑定?或者如果有更好的方法可以做到这一点,那也会有效!
谢谢!
答案 0 :(得分:3)
如果要添加的侦听器在逻辑上属于此视图,则必须执行普通的jQuery绑定。
你的另一个选择是有一个单独的视图,el:'body',在其上定义一个mouseup处理程序,这将适用于普通事件声明。但在你的情况下,我认为最好将mouseup和mousedown处理程序保持在同一个视图中,因为它们密切相关。