0

アプリに次のコードがあります。クリック イベントが最初に発生したときに、期待どおりにテンプレートがページに追加されます。

ただし、2 回目はテンプレートのコピーが 2 つ追加され、3 回目は 3 つ追加されます。つまり、3 回クリックすると、実際には DOM 内にテンプレートの 6 つのコピーが作成されます。

追加後に template_view を null に設定しても、引き続き発生します。

なぜこれが起こっているのか、それを回避する方法を誰かが説明できますか?

template_path = "/templates/";
var template_html;  

$.get(template_path+"template.html", function(template) {
    template_html = template;
});     


$('#test_add').click(function(){
    var template_data = {name:'whatever'};  
    template_view = Mustache.to_html(template_html, template_data); 
    $(body).append(template_view);
});
4

1 に答える 1

0

なぜこれが起こったのかはまだわかりません。当初、私のテンプレートは口ひげタグのない静的な html ファイルでしたが。いくつか追加して配列を渡してループさせると、関数が呼び出されるたびにテンプレートが複製されなくなりました

于 2013-03-13T16:20:26.867 に答える