监控Backbone视图中的el更改?

时间:2012-03-07 00:15:11

标签: jquery backbone.js backbone-events

假设我有一个Backbone视图并且我经常更换el的内容,我将如何在新调整的内容上重新运行非事件操作?例如;说我已经替换了内容,并希望所有链接都使用灯箱脚本。要正常附加脚本,你可以在渲染中执行类似的操作;

this.$el.find('a').box()

但在更换内容后,需要再次运行。鉴于您不一定知道何时更换el内容,您将如何重新运行?我似乎无法找到一个我可以代表的事件 - 准备好,加载和更改所有声音,就像它们可以工作一样,但没有一个。理想情况下,我想在事件哈希中放入一些东西来调用一个在每次替换后运行这些东西的方法。

2 个答案:

答案 0 :(得分:1)

你可以在初始化中执行此操作:

$(this.el).livequery(function() {
   // perform selector on $(this) to apply box
});

jquery live event for added dom elements

无耻地被盗并稍加修改

答案 1 :(得分:0)

您可以使用事件聚合器。您在聚合器中创建一个事件,该事件绑定到每次更改el内容时运行的函数。每当您替换el内容时,触发您创建的事件。请在此处查看此文章,以获得更详尽的说明:Event Aggregator