我在 express/nodejs 中有一个应用程序,使用玉作为模板引擎。
在模板文件中有以下段落
p.btn(onclick='clicked( #{entity._id} )') Click
,在此段落之后(在一些标记之后)有一个脚本标记,其中有一个 javascript 函数。
问题是如果我点击它抛出的段落
Uncaught SyntaxError: Unexpected token ILLEGAL
在脚本标签中。如果我在 DOM 检查器中看到这个脚本标记,它是错误的语法突出显示,但它没有不正确的语法。
此外,如果我在上面段落的 onclick 属性中删除#{entity._id}
它不会引发任何错误。
为什么?在翡翠模板中编写和包含脚本标签的最佳实践是什么?
编辑:
为段落生成的 HTML 是
<p onclick="clicked(5025)" class="btn">Click</p>
单击处理程序位于外部文件中(包含在脚本标记中)并且是
var clicked=function(id){
location.href='/click/'+id+'/';
};
错误在以下脚本标记中引发(即段落后的某个标记)
<script>flowplayer("5025","/javascripts/flowplayer/flowplayer-3.2.12.swf",{
clip:{
autoPlay:false
}
});
</script>