我做了一个简单的JS函数,试图用onload =" updateClock()"来调用它。但没有任何成功。但如果我改为onmouseenter =" updateClock()"它完美无缺,然后我用鼠标盘旋。
为什么它不起作用?
HTML:
<script src="clock.js" type="text/javascript"></script>
<section onload="updateClock();">
<span id="clock">00:00:00</span>
</section>
JS:
function updateClock(){
var currentTime = new Date ();
var hours = currentTime.getHours ();
var minuts = currentTime.getMinutes ();
var seconds = currentTime.getSeconds ();
//Pad with zeros
hours = (hours < 10 ? "0" : "") + hours;
minuts = (minuts < 10 ? "0" : "") + minuts;
seconds = (seconds <10 ? "0" : "") + seconds;
var time = hours + ":" + minuts + ":" + seconds;
document.getElementById("clock").innerHTML = time;
}
答案 0 :(得分:2)
只有像iframe
或img
这样的元素,一般来说,可以从外部资源加载内容的元素都有onload事件。 (以及一些DOM对象,如window
ofcourse。)
快速解决方法是在script
之后移动section
标记并使用IIFE:
<section>
<span id="clock">00:00:00</span>
</section>
<script src="clock.js" type="text/javascript"></script>
在clock.js中:
(function updateClock(){
:
}());