Представление магистрали для повторного рендеринга, если отображается любое другое представление.

У меня есть TooltipView, который появляется всякий раз, когда элемент с классом .tooltip наводится мышью, и принимает содержимое атрибута data-tooltip этого элемента и отображает его во всплывающей подсказке.
Я связываю события для TooltipView в его функции инициализации, но проблема в том, если другое представление создается динамически или повторно визуализируется, тогда TooltipView не знает об этом.

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

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

Я знаю, что могу вручную инициировать события из каждого из представлений при их отображении, но есть ли возможность сделать это только из TooltipView?
Я хочу, чтобы TooltipView прослушивал ЛЮБОЕ представление для отображения, а затем повторно отображал себя .


person barro32    schedule 01.11.2012    source источник


Ответы (1)


Возможно, вам подойдет привязка событий к более высокому уровню DOM:

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

Не забудьте потом отвязать

person rinat.io    schedule 01.11.2012
comment
Спасибо, что сделал трюк, вы можете объяснить, как? Почему я должен отвязать его позже? - person barro32; 02.11.2012