Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果渲染任何其他视图,则要重新渲染的主干视图_Javascript_Backbone.js_Backbone Events - Fatal编程技术网

Javascript 如果渲染任何其他视图,则要重新渲染的主干视图

Javascript 如果渲染任何其他视图,则要重新渲染的主干视图,javascript,backbone.js,backbone-events,Javascript,Backbone.js,Backbone Events,我有一个TooltipView,每当鼠标滑过类为.tooltip的元素时,它就会弹出,并获取该元素数据tooltip属性的内容,并将其显示在tooltip中。 我将TooltipView的事件绑定到它的初始化函数中,但问题是如果动态创建或重新呈现另一个视图,则TooltipView不知道它 var tooltipView = Backbone.View.extend({ el: '#tooltip-container', initialize: function() {

我有一个TooltipView,每当鼠标滑过类为
.tooltip
的元素时,它就会弹出,并获取该元素
数据tooltip
属性的内容,并将其显示在tooltip中。
我将TooltipView的事件绑定到它的初始化函数中,但问题是如果动态创建或重新呈现另一个视图,则TooltipView不知道它

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

    initialize: function() {
        $('.tooltip').on('mouseover', function() {
             ....
        }
    }
}
我知道我可以在渲染每个视图时手动触发它们的事件,但是仅仅从TooltipView中就可以触发吗?

我希望TooltipView侦听任何要渲染的视图,然后重新渲染它自己。

可能将事件附加到更高的DOM级别对您有用:

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

不要忘了稍后解除绑定,尽管将事件附加到更高的DOM级别可能对您有用:

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

别忘了晚些时候解开它,尽管

谢谢你的帮忙,你能解释一下怎么解开吗?为什么我以后要解开它呢?谢谢你,这真是个好办法,你能解释一下怎么解开吗?为什么我以后要解开它?