2012-04-19 49 views

回答

1

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

謝謝,我覺得是不可能的。

Backbone.View.events內部使用this.$el.delegate它在內部使用CSS selector看起來像doesn't support upwards selection

您可以改爲將position: absolute div添加到您的el DOM元素中,並使其透明並全屏顯示。然後從那裏捕捉事件。

+0

請檢查我的回答對解決方法 – chchrist 2012-04-19 10:43:18

1

嗯,我想我找到了一個工作解決方案!

在初始化函數我

$('body').bind('mouseup', this.onMouseUp); 

和它的作品般的魅力! :)

編輯

其實,有一個很大的問題與!這是綁定在身體上而不是視圖上。所以,我有「逼」的參數,當我與this.pressed訪問它試圖找到它在體內....

編輯

,我發現上面的問題是該解決方案參考傳入的參數綁定到這個樣:

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

而現在它就像魅力:P

+0

ofcourse ..好:) – fguillen 2012-04-19 10:01:55

+0

我仍然覺得我的回答匹配你的問題_「是否有可能......」; _;) – fguillen 2012-04-19 10:06:45

+0

嗯,你是對的,它是不可能有一個「鼠標身體」:「方法在這裏」與視圖不同的el – chchrist 2012-04-19 10:24:26