我在使用jQuery和Jinja2 + Flask-bootstrap和Flask框架时遇到了问题。当我创建:
<script>
$('#commentButton').click(function() {
alert('clicked');
});
</script>
我收到以下错误:
未捕获的ReferenceError:$未定义
我可以在Chrome开发工具中看到,收到了jQuery库。
答案 0 :(得分:10)
Flask-Bootstrap在body
标记的末尾包含jQuery。如果您尝试在页面前面引用它,您将收到此错误。
确保在jQuery之后放置代码的最简单方法是覆盖模板标记。
{% block scripts %}
{{ super() }}
<script>
$('#commentButton').click(function() {
alert('clicked');
});
</script>
{% endblock %}
答案 1 :(得分:0)
错误表明$
未定义。可能根本没有包含jQuery,但是因为你说它包含在内,很可能,它必须已经被重命名为另一个名字,检查它。
同时尝试使用jQuery
代替$
,如果有效,您可以执行$ = jQuery
会将jQuery
的引用传递给$
,因此您可以使用$