thymeleaf:外部js文件

时间:2014-07-15 14:50:58

标签: javascript thymeleaf

我正在尝试在百万富翁项目中使用外部javascript文件,所以我做了以下事情:

这是文件的声明方式(我把这个放在/ body之前,正如许多其他帖子所建议的那样)

<script type="text/javascript" th:src="@{/resources/lor.js}"></script>

这是html函数调用

<a id="l2" th:href="'javascript:change2();'">

这是js文件

function change1() {
 document.getElementById("l1").setAttribute("class", "selected");
 document.getElementById("l2").setAttribute("class", "");

};


function change2() {

 document.getElementById("l1").setAttribute("class", "");
 document.getElementById("l2").setAttribute("class", "selected");

};

然而我从firebug得到以下错误“Uncaught ReferenceError:change2 is not defined”。

我也试过

function change2() {

document.getElementById("l1").className="";
document.getElementById("l2").className="selected";

};

我得到了“Uncaught TypeError:无法设置属性'className'为null”

似乎js文件甚至没有被处理。任何解决方案?

提前致谢

1 个答案:

答案 0 :(得分:1)

我建议您在href属性上使用事件处理程序而不是函数调用。 因此,您可以将锚链接更改为:

<a id="l2" href="javascript:void(0);">l2_Link</a>

要添加click事件,您必须使用window.onload事件作为Rooster提议。

window.onload = function (){
    document.getElementById ("l2").addEventListener ("click", change2, false);
}

您可以在http://jsfiddle.net/RKSZ2/1/

查看相关的工作示例