0

クラスを持つ要素がマウスオーバーされるたびにポップアップし.tooltip、その要素data-tooltip属性のコンテンツを取得してツールチップに表示する TooltipView があります。
TooltipView のイベントを初期化関数にバインドしますが、問題は、別のビューが動的に作成された場合、または再レンダリングされた場合、TooltipView がそれを認識しないことです。

var tooltipView =  Backbone.View.extend({
    el: '#tooltip-container',

    initialize: function() {
        $('.tooltip').on('mouseover', function() {
             ....
        }
    }
}

ビューがレンダリングされたときに、各ビューからイベントを手動でトリガーできることはわかっていますが、TooltipView 内からだけ実行する方法はありますか?
TooltipView がレンダリングするビューをリッスンしてから、それ自体を再レンダリングしたいと思います。

4

1 に答える 1

3

より高い DOM レベルにイベントをアタッチするとうまくいくかもしれません:

initialize: function() {
    $('body').on('mouseover', '.tooltip', function() {
         ....
    }
}

ただし、後でバインドを解除することを忘れないでください

于 2012-11-01T20:21:55.593 に答える