2012-04-13 9 views
3

があるレンダリングの周りに聞く:テンプレートは、テンプレートがレンダリングされる前に、スピナー は、ハンドルバーは私が達成したいのですがどのような

  • を追加するために提出形成するためにバインドをレンダリングされた後

    • 存在
    • 場合スピナーを削除

    Handlebarsのレンダリングをバインドする方法があれば、簡単に達成できると思います。私はそれが可能であるという手掛かりはまだ見つけていない。

    私がこれを解決しようとしている方法は、正しい方法ではない可能性がありますので、他の手段を提案することは自由です。

    これは、DOM操作のためのルーティングとjQueryのためにDavisを使用する単一ページアプリケーションです。

  • 答えて

    2

    フォーム送信へのバインドの最初の問題は、jQueryのon handler$(document).on("submit", "form", function(event) { ... });で解決できます。これは、DOMに追加されるたびにすべてのフォームで機能します。

    レンダリング部分については、.html()コールとtriggersイベントをラップする小さなjQueryプラグインを作成してください。次に、content要素をバインドしてそれを待ち受けます。例えば。 $("#content").bind("render", function() { /* REMOVE SPINNER */ });および$("#content").render(/* WHATEVER IT TAKES TO GET HTML OUT OF HANDLEBARS */);。そして最後にプラグイン:

    (function($) { 
        $.fn.render = function(htmlString) { 
        var selector = this; 
        selector.html(htmlString); 
        selector.trigger("render"); 
        }; 
    })(jQuery); 
    

    は、私が(ハンドルなし)、後者の場合を示すためにfiddleを作成しました。

    関連する問題