我正在嘗試使用WASD移動WebGL(three.js)相機的應用程序。但是,當我使用HTML元素上的Javascript onkeydown事件
onkeydown = function(e) { alert("a") }
並嘗試在同一頁面上鍵入文本框,它會觸發偵聽器。我改變了代碼看起來像這樣:
var container = document.getElementById("container");
container.onkeydown = function(e) { alert("a") }
但這並沒有工作,因爲HTML內容尚未加載,所以,我加入jQuery的:現在
var container;
$(function() {
container = document.getElementById("container");
container.onkeydown = function(e) { alert("a") }
});
,聽者沒有按」根本沒有工作,那麼是否有可能做到這一點?
雖然這是有道理的,但當我嘗試它不起作用。如果我錯了,請糾正我,但如果偵聽器不在全局範圍內,則無法觸發偵聽器。 – Firephoenix
我不確定你的意思是不在全球範圍內。也許有一些關於你的代碼的重要細節,你遺漏了嗎?另外,確保容器像Oriol說的那樣可以聚焦。 – celticminstrel
如果您感到困惑,我很抱歉。我的意思是這樣的: 'function a(){//當{ // //它被觸發到函數外部時,我不能指望函數內部的監聽器被觸發} – Firephoenix