我的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');
}
我还尝试使用<script type=text/javascript></script>
将JavaScript代码原始放入HTML正文中,并且尝试使用onbeforeprint
而不是onload
,但仍未显示我的JS方法。
The <h5> is being showed
,但不触发我的JS方法。
答案 0 :(得分:3)
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 %}
答案 1 :(得分:0)
尝试将onload="advSessionExists()
添加到script
标记中。或用您的脚本window.addEventListener('onload', advSessionExists);