ビュー内の body 要素にイベントをバインドすることは可能ですか?
たとえば、これは機能しません
Backbone.View.extend({
el : "#some element here",
events : {
"mouseup body" : "onMouseUp"
}
});
前もって感謝します
ビュー内の body 要素にイベントをバインドすることは可能ですか?
たとえば、これは機能しません
Backbone.View.extend({
el : "#some element here",
events : {
"mouseup body" : "onMouseUp"
}
});
前もって感謝します
まあ、私は実用的な解決策を見つけたと思います!
初期化関数で私はします
$('body').bind('mouseup', this.onMouseUp);
そしてそれは魅力のように機能します!:)
編集
実はそれには大きな問題があります!これは、ビューではなくボディにバインドされます。だから私は「押された」パラメータを持っていて、this.pressedでそれにアクセスすると、それは体の中でそれを見つけようとします...。
編集
上記の問題に対して私が見つけた解決策は、バインドパラメータに次のような参照を渡すことです。
$('body').bind('mouseup',{thisView : this}, this.onMouseUp);
そして今、それは魅力のように機能します:P
ありえないと思います。
Backbone.View.eventsは内部でthis.$el.delegateを使用します。これは内部でCSS セレクターを使用しますが、これは上向きの選択をサポートしていないように見えます。
代わりに、 DOM 要素にposition: absolute
div を追加して、透明にしてフルスクリーンにすることができます。el
そして、そこからイベントをキャプチャします。