Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.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 导航表<;tr>;带有键盘上/下箭头_Javascript_Html - Fatal编程技术网

Javascript 导航表<;tr>;带有键盘上/下箭头

Javascript 导航表<;tr>;带有键盘上/下箭头,javascript,html,Javascript,Html,我找了很多方法来解决这个问题,但没有找到明确的解释。实际上,我有一个表(用PHP列出mySQL数据库中的数据)&我希望它可以用键盘箭头导航:当用户按下向上或向下箭头时,它会关注上面/上面的行,并且背景颜色会改变。我想学习如何在JavaScript中实现这一点,请不要使用jQuery解决方案 这是表格: 不 笔名 尝试将其用作您的JS: var rows = document.getElementById("pokemons-list").children[1].children; var s

我找了很多方法来解决这个问题,但没有找到明确的解释。实际上,我有一个表(用PHP列出mySQL数据库中的数据)&我希望它可以用键盘箭头导航:当用户按下向上或向下箭头时,它会关注上面/上面的行,并且背景颜色会改变。我想学习如何在JavaScript中实现这一点,请不要使用jQuery解决方案

这是表格:


不
笔名

尝试将其用作您的JS:

var rows = document.getElementById("pokemons-list").children[1].children;
var selectedRow = 0;
document.body.onkeydown = function(e){
    //Prevent page scrolling on keypress
    e.preventDefault();
    //Clear out old row's color
    rows[selectedRow].style.backgroundColor = "#FFFFFF";
    //Calculate new row
    if(e.keyCode == 38){
        selectedRow--;
    } else if(e.keyCode == 40){
        selectedRow++;
    }
    if(selectedRow >= rows.length){
        selectedRow = 0;
    } else if(selectedRow < 0){
        selectedRow = rows.length-1;
    }
    //Set new row's color
    rows[selectedRow].style.backgroundColor = "#FFFFAA";
};

不
笔名
1药剂师
2要求
3布尔巴苏尔
4皮卡丘
5Arceus

尝试将其用作您的JS:

var rows = document.getElementById("pokemons-list").children[1].children;
var selectedRow = 0;
document.body.onkeydown = function(e){
    //Prevent page scrolling on keypress
    e.preventDefault();
    //Clear out old row's color
    rows[selectedRow].style.backgroundColor = "#FFFFFF";
    //Calculate new row
    if(e.keyCode == 38){
        selectedRow--;
    } else if(e.keyCode == 40){
        selectedRow++;
    }
    if(selectedRow >= rows.length){
        selectedRow = 0;
    } else if(selectedRow < 0){
        selectedRow = rows.length-1;
    }
    //Set new row's color
    rows[selectedRow].style.backgroundColor = "#FFFFAA";
};

不
笔名
1药剂师
2要求
3布尔巴苏尔
4皮卡丘
5Arceus

选择单元格是什么样子的?您自己试过了吗?如果是,你做了什么?分享@Feathercrown我希望,当用户按下向上或向下箭头时,它会聚焦在上面/上方的行上,并且背景颜色会发生变化。@Nas我已经做出了回答。如果这是你想要的,请随意点击复选标记接受它并投上一票;如果不是这样的话,告诉我,我会看看我回家后能不能换一下。选择一个手机是什么样子的?你自己试过了吗?如果是,你做了什么?分享@Feathercrown我希望,当用户按下向上或向下箭头时,它会聚焦在上面/上方的行上,并且背景颜色会发生变化。@Nas我已经做出了回答。如果这是你想要的,请随意点击复选标记接受它并投上一票;如果不是,请告诉我,我会看看我回家后是否可以更改。这正是我想要的,但我不知道为什么我的表格@FeatherCrown无法运行。有没有办法在生成表格后获取表格的HTML?我也许能帮你。另外,请确保将Javascript放在表后面。我会遇到一个错误:“无法读取list.php:10处null的属性'children'”,当我的表生成时,它是一系列的1bullbizarreak!我已经把Javascript放在表格后面了,就像你说的,只是最后一个问题,我用这个表格和一个搜索栏,当表格被过滤时,它工作不好,请解决这个问题@FeathercownI需要查看筛选表的HTML才能找到解决方案。这正是我要找的,但我不知道为什么在我的表@FeatherCrown上不起作用。是否有方法在生成表后获取表的HTML?我也许能帮你。另外,请确保将Javascript放在表后面。我会遇到一个错误:“无法读取list.php:10处null的属性'children'”,当我的表生成时,它是一系列的1bullbizarreak!我已经把Javascript放在表格后面了,就像你说的,只是最后一个问题,我用这个表格和一个搜索栏,当表格被过滤时,它工作不好,请解决这个问题@FeathercownI需要查看筛选表的HTML才能找到解决方案。