我正在尝试在模板中包含一些javascript代码。
我的html页面的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="jquery-jtemplates.js"></script>
</head>
<body>
<div id="infos"></div>
<div id="my_template"></div>
<script type="text/javascript">
$(document).ready(function() {
$('#my_template').setTemplateURL("my_template.html");
try {
$('#my_template').processTemplate({'var' : 1});
}
catch (e) {
$('#infos').html('error : '+e);
}
$('#my_button').click(function(){
alert('it works outside');
});
});
</script>
</body>
</html>
和模板
content of the template<br/>
{#if $T.var == 1}
<script type="text/javascript">
$(document).ready(function() {
$('#my_button').click(function(){
alert('it works inside');
});
});
</script>
<input type='submit' id='my_button' value='click me' onclick='alert("direct");'/>
{#else}
not working
{#/if}
在infos
应答器
错误:后面的SyntaxError:missing} 功能体
如果我只将alert('it works inside');
放在script
应答器中(删除所有与jquery相关的代码),页面加载,则显示两条消息“direct”和“it works outside”,但不是“它适用于“消息。
假设按照doc page
的说法运作允许在模板中使用JavaScript代码
谢谢
答案 0 :(得分:1)
模板预处理器看起来{}
符号出现乱码。我不熟悉jtemplate,但这可能是您问题的解决方案:jTemplates escape {$
答案 1 :(得分:0)
我认为我找到了一个解决方案。
该模板允许我只在<script>
标签内执行相当简单的JS,但我可以调用在我的主页面中定义的函数或使用外部JS文件
content of the template<br/>
{#if $T.var == 1}
<script type="text/javascript" src="fct_template.js"></script>
<input type='submit' id='my_button' value='click me'/>
{#else}
not working
{#/if}
我可以把我想要的所有代码放在哪里