Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获类型错误:无法读取属性';其中';未定义的。当我使用密钥时,我会遇到同样的问题_Javascript_Html_Css - Fatal编程技术网

Javascript 未捕获类型错误:无法读取属性';其中';未定义的。当我使用密钥时,我会遇到同样的问题

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

我试图在按下某个键时访问数组中的某个元素。根据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_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),请参阅链接问题的答案了解原因。