Javascript 未捕获类型错误:无法读取属性';其中';未定义的。当我使用密钥时,我会遇到同样的问题
我试图在按下某个键时访问数组中的某个元素。根据w3,我可以使用event.which或event.key,但我必须调整x与之比较的内容。但不管怎样,我仍然得到相同的未捕获类型错误:无法读取未定义的属性'which'或未捕获类型错误:无法读取未定义的属性'key'Javascript 未捕获类型错误:无法读取属性';其中';未定义的。当我使用密钥时,我会遇到同样的问题,javascript,html,css,Javascript,Html,Css,我试图在按下某个键时访问数组中的某个元素。根据w3,我可以使用event.which或event.key,但我必须调整x与之比较的内容。但不管怎样,我仍然得到相同的未捕获类型错误:无法读取未定义的属性'which'或未捕获类型错误:无法读取未定义的属性'key' var i = 0; // Start point var pages_arr = []; // Pages array pages_arr[0] = "JS_CSS_HTML_HW_home_page.html"; pages_ar
var i = 0; // Start point
var pages_arr = []; // Pages array
pages_arr[0] = "JS_CSS_HTML_HW_home_page.html";
pages_arr[1] = "JS_CSS_HTML_HW_courses_page.html";
pages_arr[2] = "JS_CSS_HTML_HW_projects_page.html";
pages_arr[3] = "JS_CSS_HTML_HW_hobbies_page.html";
pages_arr[4] = "JS_CSS_HTML_HW_friends_page.html";
function keyTabChange(event){
var x = event.which;
// Unicode for Up = 38
// Unicode for Right = 39
// Unicode for left = 37
// Uniceode for downn = 40
//var curr_window = window.location.href; // Get URL of string of webpage location
//i = pages_arr.indexOf(curr_window); // Get the index of that location in the array of pages
if (x == 38 || x == 37){ // Previous tab
if (i == 0){
i = pages_arr.length - 1; // If index at first element in array go to end of the array
}
else{
--i; // All other cases go to previous tab
}
}
else if (x== 39 || x == 40){ // Next tab
if (i==pages_arr.length - 1){
i = 0; // If index is at last element go to first element of array
}
else{
++i; // All other cases go to next tab
}
}
//window.location.assign(pages_arr[i]); // Load page of the URL
//document.write(pages_arr[i]);
document.getElementById("TestID").innerHTML = pages_arr[i];
}
文件。添加的事件列表器(“keyup”,keyTabChange(event));
strong text因为您误用了
addEventListener
方法,而不是
document.addEventListener(“keyup”,keyTabChange(事件))代码>
你需要
document.addEventListener(“keyup”,keyTabChange)代码>
e、 g.传递函数名而不是函数调用
文档。添加了文本列表(“keyup”,keyTabChange(事件))代码>=>文档。添加了文本列表(“keyup”,keyTabChange)代码>,请参阅链接问题的答案了解原因。