胸里叶:外部js文件
thymeleaf:external js file
我试图使用一个外部javascript文件在一个thyymeleaf项目,所以我做了以下工作:
这是文件声明的方式(我把它放在/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");
};
然而我得到以下错误"Uncaught ReferenceError: change2 is not defined"从firebug。
i've also tried
function change2() {
document.getElementById("l1").className="";
document.getElementById("l2").className="selected";
};
和我得到"未捕获的类型错误:不能设置属性'className'为null"
似乎js文件甚至没有被处理。有解决方案吗?
thanks in advance
我建议您在href属性上使用事件处理程序而不是函数调用。所以你可以把你的锚链接改成:
<a id="l2" href="javascript:void(0);">l2_Link</a>
要添加单击事件,必须使用窗口。按Rooster的建议onload事件。
window.onload = function (){
document.getElementById ("l2").addEventListener ("click", change2, false);
}
您可以在以下网址查看工作示例:http://jsfiddle.net/RKSZ2/1/
相关文章:
- JS文件的路径正在消失
- 我的外部js文件无法加载
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- 动态加载和卸载js文件
- 如何将变量传递到另一个js文件
- 如何将所有JS文件连接到一个文件夹中
- 从Chrome扩展名中的popup.html文件在background.js文件中运行一个函数
- 如何使用php文件中的GET来获取我在.js文件中声明的变量
- 如何将模板中的标记脚本移动到.js文件中
- 什么's是连接供应商js文件的最佳方式
- 如何在定义js文件后为外部javascript文件设置变量
- 如何在JS文件中获取资源(.resx)字符串
- 将*.js文件的内容放入Object中
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 导致内容安全策略(CSP)冲突错误的本地jquery.js文件
- 如何使用Gmail运行.js文件
- 如何定义一个模块并使用它来分离js文件
- Angular JS文件上传到托管服务器
- 如何引用HTML中节点模块中的js文件
- 如何将JS文件从其他文件夹链接到页面