我的Handlebar / Moustache模板中有以下脚本标记:
<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中运行吗?
P.S:将脚本标记的内容移动到加载此脚本的外部/主页面不是一种选择。
答案 0 :(得分:0)
您可以直接在JavaScript中创建模板(无需脚本标记)
App.templates = {
template1: "{{#stooges}}" +
"<b>{{name}}</b>" +
"{{/stooges}}",
template2: "{{#shows}}" +
"<b>{{title}}</b>" +
"{{/shows}}"
};
请参考您的模板:
var output = Mustache.render(App.templates.template1, view);