[英]When there is already a window.load==function(){} how to add keyDown event for a canvas
我使用了一些JS API來制作一些圖表。 在代碼中已經有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處理程序並排放置,而不干擾它們。 他們提供的最大優勢是您可以為同一個事件使用多個處理程序,因此不會出現(已經有一個處理程序)這個問題。
旁注:在所有外部資源都已完全加載(或加載失敗)之后, window
上的load
事件實際上發生在頁面加載過程的后期 。 99%的時間, 最好將代碼放在script
的body
末尾,即 </body>
標記之前,如下所示:
<!-- ...content... -->
<script src="yourscript.js"></script>
</body>
</html>
然后,您根本不需要鈎住load
事件,因為上面標記所定義的所有DOM元素已經存在。 只需立即運行您的代碼即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.