2012-11-01 92 views
0

我有一個TooltipView彈出時,只要類.tooltip被挖空的元素,並採取該元素data-tooltip屬性的內容,並顯示在工具提示。
我將TooltipView的事件綁定到它的初始化函數中,但問題是如果另一個視圖是動態創建的,或者重新呈現,那麼TooltipView不知道它。骨幹視圖重新呈現,如果任何其他視圖得到呈現

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

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

我知道我可以手動從每個視圖觸發事件時,他們正在渲染,但有沒有去這樣做只是從內部TooltipView?
我想讓TooltipView偵聽任何視圖來渲染,然後重新渲染自己。

回答

3

也許附加事件的更高水平的DOM會爲你工作:

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

不要忘了以後解除綁定雖然

+0

由於該訣竅,你能解釋一下怎麼樣?爲什麼我應該稍後取消綁定? – barro32