我的Java脚本文件在基本模板的主体中被引用:

<body>
...
<script type="text/javascript" src="/static/js/test.js"></script>
</body>


在扩展基本模板的另一个模板中,可以使用onclick事件调用draw()中定义的Java脚本函数test.js。可悲的是,我仅在画布区域上单击时才获得图片。但是通过<script> draw(); </script>调用该函数会发生以下错误:ReferenceError: draw is not defined这怎么可能?

...
<div class="panel-body">
  # works perfectly fine, somehow the function can be accessed
  <canvas id="canvas" onclick="draw()" width="300" height="10"></canvas>
  # occurs an error, somehow the function can't be accessed anymore...
  <script> draw(); </script>
</div>
...


我使用python flask框架进行后端编程。

最佳答案

因为您在网页末尾初始化了<script>,所以您在初始化之前先调用draw()

我将其放在head标签中:

<head>
    ...
    <script type="text/javascript" src="/static/js/test.js"></script>
</head>


您说过,对于onclick,它确实有效,当您单击画布时,draw()函数已经初始化。

09-10 11:05
查看更多