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 回答