Javascript:将事件侦听器添加到文档对象的最早时刻

Javascript:将事件侦听器添加到文档对象的最早时刻,javascript,events,onload,Javascript,Events,Onload,我想在不使用JQuery的情况下向文档对象添加一个keydown事件侦听器 在侦听器中,我没有访问DOM。我从DOM中需要的唯一东西是document对象本身。我只想禁用按某个键 在脚本中直接调用它安全吗(我的意思是当脚本加载时),或者我需要使用onload回调(或者其他东西) 提前感谢。您只需绑定到DOMContentLoaded事件即可。jQuery就是这样做的 例如: document.addEventListener("DOMContentLoaded", function(){

我想在不使用JQuery的情况下向文档对象添加一个keydown事件侦听器

在侦听器中,我没有访问DOM。我从DOM中需要的唯一东西是document对象本身。我只想禁用按某个键

在脚本中直接调用它安全吗(我的意思是当脚本加载时),或者我需要使用onload回调(或者其他东西)


提前感谢。

您只需绑定到
DOMContentLoaded
事件即可。jQuery就是这样做的

例如:

document.addEventListener("DOMContentLoaded", function(){
    //Bind the key event here.
});
这在IE中不起作用。因此,对于IE,您可以这样做:

document.attachEvent("DOMContentLoaded", function(){
    //Bind the key event here.
});

可能会起作用。

无论您在哪里放置脚本,
文档
对象始终可用。无需等待
DOMContentLoaded
或任何东西;只要在你喜欢的时候加入你的听众


文档中的元素并非如此。

有趣的是,我一直猜测
文档
随时可用,因此您应该能够直接调用脚本,但如果看到带有引用的答案(确认或否认)@julio.olvr它应该始终是“可用”的,这将是很有趣的,否则,下面的答案将无法将事件绑定到它。但是我同意,为了理解/完整起见,一个非常具体的引用是很好的。嗯,但是如果document对象可以用于添加“DOMContentLoaded”事件,那么我可以直接添加keydown事件。除了文档之外,我不需要DOM中的任何东西。DOM总是被加载的。问题是我是否需要等待(并在回调中作出反应),或者是否可以在加载/准备/调用任何东西之前使用document对象。这似乎是最新的情况。为什么需要加载?我不想访问侦听器中的DOM。也许不是。我想试试吧。
   document.onload = function() {
        document.onkeydown = function() {
        // disable key

        };
    }