我最近发现自己正在玩事件,因为没有标准的事件表明页面已被加载(如onload与pageshow),我想知道是否有些事情反对简单地放一些javascript结尾这页纸。然后在加载页面时执行此代码。
在这个例子中,我将一个keyUp监听器添加到iText标识的(input)元素,并将其分配给函数updateText(event)(事件对象将被传递给该函数)。
<html><head></head><body>
<!-- content -->
<script type="text/javascript">
document.getElementById('iText').onkeyup = updateText;
</script>
</body>
</html>
此处的示例页面:
http://kb.granjow.net/JavaScript/onload.html
在Firefox 3.5,Opera 10.10,IE 6,IE 8中测试,无处不在。
那么,这是好事还是我错过了什么?
期待您的回答。 西蒙
答案 0 :(得分:2)
听起来不错。只要您的脚本位于页面末尾,就没有理由不这样做。事实上,ASP.NET使用此方法来加载它的脚本。
答案 1 :(得分:2)
这适用于基本页面。但是,如果您的脚本处理的图像尚未完成下载或来自ajax请求,则可能会遇到麻烦。如果你是手写的东西,这样的东西应该有效:
function registerEvent(el, event, func, bCapture)
{
if (el.attachEvent)
el.attachEvent('on'+event, func);
else if (el.addEventListener)
el.addEventListener(event, func, bCapture);
}
否则,各种JS库都有自己的实现,比如jQuery的$(document).ready()。