我将backbone.js与jquery-template一起使用。所以我有看法:
var CarpetView = Backbone.View.extend({
render: function(){
var html = $("#carpet_designs").tmpl(this.model.toJSON())
$(this.el).html(html);
});
初始视图:
this.view = new CarpetView({ model:element});
this.view.render();
$('#dm_'+row).html(this.view.el);
ОК,在我的模板中我有画廊:例如:
<a rel="gallery_group" id="gallery_fancybox" href="/uploads/gallery/${p_im}"> <img src="/uploads/gallery/thumbnails/thumb_${p_im}" /></a>
比我有fancybox脚本:
$("a#gallery_fancybox").fancybox({'overlayOpacity': 0.4});
$("a[rel=gallery_group]").fancybox();
问题:
我如何以及在哪里初始化我的fancybox脚本,它与我的图像一起使用?
谢谢!
答案 0 :(得分:1)
我会将最终元素传递给视图并初始化渲染中的fancybox。像这样的东西
var CarpetView = Backbone.View.extend({
render: function(){
var html = $("#carpet_designs").tmpl(this.model.toJSON())
$(this.el).html(html);
$(this.el).find("a#gallery_fancybox").fancybox({'overlayOpacity': 0.4});
$(this.el).find("a[rel=gallery_group]").fancybox();
}
});
var el='#dm_'+row;
this.view = new CarpetView({model:element, el:el});
this.view.render();