我正在尝试运行我的JavaScript,以便在python flask上单击按钮时产生警报。我遇到的问题是我在JS文件第一行中出现错误:Uncaught ReferenceError: $ is not defined
。甚至首先交换$
使用jQuery仍然无法正常工作。
我的结构是:
app: - main.py
- static - js - mainJs.js
- lib - jquery-2.2.4.min.js
- jquery-ui.js
- css - stylesheet.css
- templates - index.html
我确信我正确导入了所有内容,因为我的html文件是:
<!DOCTYPE html>
<html>
<head>
<title>First doc</title>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='css/stylesheet.css') }}">
<script type="text/javascript" src="{{ url_for('static', filename = 'js/mainJs.js') }}"></script>
<script type="text/javascript" src="{{ url_for('static', filename = 'js/lib/jquery-2.2.4.min.js') }}"></script>
<script type="text/javascript" src="{{ url_for('static', filename = 'js/lib/jquery-ui.js') }}"></script>
</head>
<body>
{{err}}
<form id="commentForm" action="/addComment" method="POST">
<table>
<tr>
<td>
<textarea id="username" rows="1" cols="50" name="username"></textarea>
</td>
</tr>
<tr>
<td>
<textarea rows="4" cols="50" id="textArea" name="thetext"></textarea>
</td>
</tr>
</table>
<input id="rand" type ="submit" value="Submit" onclick = "substitute()" />
</form>
{% for item in Message %}
<table>
<tr>
<td>
{{item}}
</td>
</tr>
</table>
{% endfor %}
<div id="testDiv">
</div>
</body>
</html>
我的JavaScript文件很简单:
$(document).ready(function(){
$("#rand").click(function(){
window.alert("its working!");
});
});
答案 0 :(得分:3)
您加载.js
文件的顺序非常重要,因为您在加载$
之前在文件中引用了jquery
。
在jquery`s之后将文件导入以解决问题。