Javascript 当已经有一个window.load==function(){}如何为画布添加keyDown事件
我使用一些JSAPI制作了一些图表。在代码中已经有Javascript 当已经有一个window.load==function(){}如何为画布添加keyDown事件,javascript,events,canvas,onload,keydown,Javascript,Events,Canvas,Onload,Keydown,我使用一些JSAPI制作了一些图表。在代码中已经有window.onload=function(){},现在我想为画布设置keydown事件。有人知道在哪里添加代码吗?这看起来很傻,但我就是无法获得有关window.onload对js操作的影响的信息 您可以改用DOM2处理程序: window.addEventListener("load", function() { /*...your code here...*/}, false); 在IE8和更早版本中,您必须处理他们没有的事实: if
window.onload=function(){}
,现在我想为画布设置keydown事件。有人知道在哪里添加代码吗?这看起来很傻,但我就是无法获得有关window.onload对js操作的影响的信息 您可以改用DOM2处理程序:
window.addEventListener("load", function() { /*...your code here...*/}, false);
在IE8和更早版本中,您必须处理他们没有的事实:
if (window.addEventListener) {
window.addEventListener("load", function() { /*...your code here...*/}, false);
}
else if (window.attachEvent) {
window.attachEvent("onload", function() { /*...your code here...*/});
}
DOM2处理程序与旧的DOM0处理程序并排放置,不会干扰它们。它们提供的最大优势是,您可以为同一事件使用多个处理程序,因此不会出现这个问题(即已经存在一个处理程序)
旁注:
窗口
上的load
事件发生在页面加载过程的后期,在所有外部资源完成加载(或未能加载)之后。99%的情况下,就在关闭标记之前,它是这样的:
<!-- ...content... -->
<script src="yourscript.js"></script>
</body>
</html>
然后您根本不需要钩住load
事件,因为上面标记定义的所有DOM元素都已经存在。只要让你的代码立即运行