在骨干网中,我经常会使用类似......
之类的东西来实例化视图new mysite.some.namespace.View();
然后将在我的视图中加载并将事件附加到DOM。问题是删除该视图然后再次实例化它。如果我加载视图两次,我的事件通常会加倍。我怎么能消除这个?这是因为我的el被设置为应用程序的包装元素吗?
这是一个简单的解决方案吗?
答案 0 :(得分:3)
从评论中可以看出,你已经偏离了脊柱的直线和狭窄的路径进入杂草。适当的事件处理需要一些小心。如果您发布更多代码,我们可以提供更详细的建议,但是:
.remove()
。将自动删除所有DOM事件绑定。this.el
)这样的蠢事。this.el
。不要指定它。如果需要,在tagName
对象中使用extend
,但视图的el
应该是A)对于该视图是唯一的,并且B)与DOM分离,直到视图外部附着它(通常路由器或复合视图管理器)。答案 1 :(得分:0)
您可以使用e.stopImmediatePropagation();
来阻止事件传播。