我将js函数插入到html中,现在我从HTML中取出JS代码以单独的js文件,这导致JS函数未定义错误?为什么?以及如何解决?
@(Html.Kendo().Grid<Model>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(p => p.Name);
})
.Events(ev =>
{
ev.DataBound("initMenus");
})
)
<script>
function initMenus(e) {
$(".templateCell").each(function () {
eval($(this).children("script").last().html());
});
}
</script>
现在我将 js 函数分离到 test.js 中:
<script src="~/js/test.js"></script>
@(Html.Kendo().Grid<Model>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(p => p.Name);
})
.Events(ev =>
{
ev.DataBound("initMenus");
})
)
我的test.js
function initMenus(e) {
$(".templateCell").each(function () {
eval($(this).children("script").last().html());
});
}
我确信 test.js 的路径是正确的。
这里有错误: enter image description here
最佳答案
浏览器兑现
浏览器可能正在兑现 test.js 文件,请尝试向 .js 文件添加一些版本控制。
基本示例
<script src="~/js/test.js?v=1"></script>
然后每次更改 .js 文件时增加该值
按 F5 通常不会强制浏览器获取新的 .js 文件
关于javascript - 从HTML中取出JS代码来单独的js文件,导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43508507/