我在我的HTML正文中有这个:
<script src="{% static "jquery/sessionExists.js" %}"></script>
{% if context.alreadyOnSession == 'YES' %}
<h5 class="loginerror" onload="advSessionExists()">This session is already logged in</h5>
{% endif %}
这些{}
是django代码。
sessionExists.js:
function advSessionExists(){
console.log('Just checking if its triggered');
}
我还尝试将我的JavaScript代码原始放在带有<script type=text/javascript></script>
的HTML主体中,并且我尝试使用onbeforeprint
而不是onload
,但它仍然没有显示我的JS方法。
The <h5> is being showed
,但没有触发我的JS方法。
onload事件只能用于文档(正文)本身,框架,图像和脚本。换句话说,它可以仅附加到身体和/或每个外部资源。 div(或h5)不是外部资源,它作为正文的一部分加载,因此onload事件不适用于那里。
要在加载<h5>
元素时调用该函数,只需在django <h5>
中的if statement
元素之后调用该函数,如下所示:
{% if context.alreadyOnSession == 'YES' %}
<h5 class="loginerror">This session is already logged in</h5>
<script type="text/javascript">
advSessionExists();
</script>
{% endif %}
尝试将onload="advSessionExists()
添加到script
标签。或者写在你的脚本window.addEventListener('onload', advSessionExists);