我想要做的是讓一個表格元素監聽一個onclick()事件,當這個事件引發時,做一些事情然後添加另一個鍵盤事件監聽這個表格單元元素,但它似乎不起作用,即使添加了新的事件監聽器。一個HTML元素監聽一個事件,然後監聽另一個事件
我具有由html標籤在10×10的表,並且它們中的每一個分配ID從0到99
這是我的代碼:
for(i=0; i<100; i++){
var cell = document.getElementById(i);
cell.addEventListener("click", handleClick);
}
function handleClick(e){
var cell = e.target;
console.log(cell);
cell.addEventListener("keyup", handleInput);
console.log(true);
cell.removeEventListener("click", handleClick);
console.log(true);
}
function handleInput(e){
var key = e.keyCode;
var i = e.target.id;
console.log(key);
document.getElementById(i).innerHTML = key;
}
的handleInput()函數當我按下單元格上的一個按鍵時,不會調用它,此外,控制檯在單擊單元格後顯示兩次'true'。
誰能告訴我有沒有這個問題?以及如何解決它以實現我的目標。非常感謝。
什麼信息是你的日誌顯示?直到你的代碼到達哪裏? –
當我按下單元格上的某個鍵時,不會調用handleInput()函數,此外,控制檯顯示'true'兩次,表示新的鍵盤事件偵聽器已成功添加。謝謝! – user5220361