【发布时间】:2022-07-08 20:25:01
【问题描述】:
我想将我的函数移动到一个单独的 js 文件,但是当我这样做时,它们停止工作。如何解决这个问题?当您想将函数移动到单独的 *.js 文件时,还有其他一些语法吗?
function edit_description() {
var targetDescription = $("#description-1");
var value = targetDescription.text();
if (value != "") {
value = ""
};
targetDescription.html(`<input class="description form-control" data-target="description-1" type="text" value=${value}>`);
$("input:text").focus();
$("input").blur(function (e) {
e.preventDefault();
var target = targetDescription.children('input').attr("data-target");
$(`#${target}`).text($(this).val());
var description = $(this).val();
save_description(identification = "description-1", description);
});
};
function save_description(identification, description){
console.log('Saved!');
var userInput = {"identification":identification, "description":description};
};
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">
</head>
<body>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src=/static/main.js></script>
<div class="table-wrapper">
<table id="table" class="table table-striped">
<thead>
<tr>
<th scope="col"><span>Edit</span></th>
<th scope="col"><span>Description</span></th>
</tr>
</thead>
<tbody>
<tr>
<td id = "edit-1"><a class="btn" role="button" onclick="edit_description();">Edit ></a></td>
<td id = "description-1">Lorem</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
如您所见,我将我的 js 放在静态目录中名为 main.js 的文件中。
【问题讨论】:
-
尝试在body末尾调用JS文件
-
检查浏览器控制台的错误日志。另外,检查你的js脚本的路径是否存在(这里我看到你使用的是绝对路径)
-
“他们停止工作了” - 你有什么错误吗?
-
避免使用绝对路径,因为应用程序可能并不总是位于域的根目录中,请坚持使用相对路径。如果脚本在同一文件夹中,请使用
src="./main.js" -
在您提出问题之前,您应该在开发工具的网络选项卡中检查正在请求的文件。这会将您定向到它实际尝试下载的文件,并为您提供有关路径有什么问题的线索。
标签: javascript html