每当一个包含.tooltip
类的元素被鼠标悬停时,我会弹出一个TooltipView,并获取该元素data-tooltip
属性的内容,并将其显示在工具提示中。
我在其初始化函数中绑定了TooltipView的事件,但问题是如果动态创建另一个视图,或者重新渲染,则TooltipView不知道它。
var tooltipView = Backbone.View.extend({
el: '#tooltip-container',
initialize: function() {
$('.tooltip').on('mouseover', function() {
....
}
}
}
我知道我可以在渲染时手动触发每个视图中的事件,但是只能从TooltipView中进行操作吗? 我希望TooltipView能够监听任何视图以进行渲染,然后重新渲染。
答案 0 :(得分:3)
将事件附加到更高的DOM级别可能对您有用:
initialize: function() {
$('body').on('mouseover', '.tooltip', function() {
....
}
}
不要忘记稍后解开它