0

Handlebar / Mustacheテンプレート内に次のスクリプトタグがあります:

<script type="text/javascript">
        $(function() {
            $(".enable-checkbox").click(function(e) {
                if ($(this).parent().attr("for") == "Webpage") {
                    $('#Webpage').attr("value", $(this).is(":checked")); // Set true/false.                    
                }                    
                if ($(this).parent().attr("for") == "Unsubscribe") {
                    $('#Unsubscribe').attr("value", $(this).is(":checked"));
                }
            });
        });
    </script>

これはChromeとFFで完全に機能します。ただし、IEではエラーが発生します。

Error: Could not complete the operation due to error 80020101.

調査の結果、上記のエラーはテンプレートのスクリプトタグが原因であることがわかりました。スクリプトタグを削除すると、IEで機能します。

IEでこれを機能させる方法を誰かが提案できますか?

PS:このスクリプトをロードする外部/メインページにスクリプトタグの内容を移動することはオプションではありません。

4

1 に答える 1

0

JavaScriptで直接テンプレートを作成できます(スクリプトタグは必要ありません)

App.templates = {

    template1: "{{#stooges}}" +
               "<b>{{name}}</b>" +
               "{{/stooges}}",

    template2: "{{#shows}}" +
               "<b>{{title}}</b>" +
               "{{/shows}}"

};

そして、次のようにテンプレートを参照してください。

var output = Mustache.render(App.templates.template1, view);
于 2012-09-27T22:09:26.313 に答える