2011-12-29 16 views
1

jquery-templateでbackbone.jsを使用します。変更後のBackbone.js初期化スクリプトhtml

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スクリプトを初期化することができますか、それは私のイメージで動作しますか?

ありがとうございました!

答えて

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();