Javascript 鼠标滚动时触发keydown事件

Javascript 鼠标滚动时触发keydown事件,javascript,html,css,angular,Javascript,Html,Css,Angular,在div上,使用overflow-y:scroll,如何使用键向下滚动(无jQuery) ... 数据数量 .数据{ 背景颜色:蓝色; 文本对齐:居中; 溢出y:滚动; 左边距:700px; 边缘顶部:50px; 高度:400px; 宽度:150px; } 如果将属性tabindex=“0”添加到.datadiv中,则链接到。,这将使其“可聚焦”,并允许您在聚焦时使用键盘上下滚动 我假设您只希望键盘箭头在div处于焦点时滚动div,否则您必须覆盖现有的完整窗口滚动功能,如下所示: cons

div
上,使用
overflow-y:scroll
,如何使用
键向下滚动(无jQuery)


...
数据数量
.数据{
背景颜色:蓝色;
文本对齐:居中;
溢出y:滚动;
左边距:700px;
边缘顶部:50px;
高度:400px;
宽度:150px;
}


如果将属性
tabindex=“0”
添加到
.data
div中,则链接到。

,这将使其“可聚焦”,并允许您在聚焦时使用键盘上下滚动

我假设您只希望键盘箭头在div处于焦点时滚动div,否则您必须覆盖现有的完整窗口滚动功能,如下所示:

const dataDiv = document.querySelector('body > div.data')
window.addEventListener('keydown', (e) => {
  if (e.key === 'ArrowUp') {
    e.preventDefault();
    dataDiv.scrollTo(0, dataDiv.scrollTop - 10)
  } else if (e.key === 'ArrowDown') {
    e.preventDefault();
    dataDiv.scrollTo(0, dataDiv.scrollTop + 10)
  }
})

希望这就是您正在寻找的功能。基于@Graham的注释,您可以使用javascript在页面加载时设置.data div的焦点,允许用户使用上/下键滚动表格,而无需初始单击

window.onload=function(){
document.getElementById(“自动聚焦”).focus();
};
.data{
边缘顶部:50px;
左边距:700px;
文本对齐:居中;
溢出y:滚动;
高度:400px;
背景颜色:蓝色;
宽度:150px;
}

奥克塔维斯
阿马尔
海斯
阿塞尼奥
杰克逊
查德威克
大厅
哈伊姆
肯尼迪
奥利弗
文森特
贾科莫
塞巴斯蒂安
奥伦
佩里
杰西
赖斯
柯克
克里斯托弗
奥伦
多诺万
彼得
经销商
王公
莱尔
罗根
小马
鲁尼
克鲁兹
康纳
沃尔特
罗斯
亚当
罗斯
日本实验舱
塞巴斯蒂安
劳伦斯
情人
多利安
于莉
马修
王
埃尔顿
查德威克
日本实验舱
鲁本
拉沙德
日本实验舱
奥兰多
阿米尔
威廉
莱斯特
丁满
威廉
山谷
提摩太
莱尔
伊拉斯谟
阿莫斯
加里
德克斯特
马尔科姆
海特
索耶
埃尔顿
凯南
亚历克
普雷斯科特
奥马尔
杰森
伊格纳修斯
艾萨克
艾丹
加布里埃尔
布罗迪
爱默生
伯顿
阿克塞尔
克林顿
阿卜杜勒
菲利浦
哈丁
李
丹顿
凯文
拉沙德
戴维斯
哈萨德
尼赫鲁
高尔文
以赛亚
弗里茨
华莱士
巴克莱
哈丁
迪特尔
伊曼纽尔
伯克
凯撒
兰德尔

请在您的问题中更具描述性。您想通过使用键盘事件在mousescroll上触发下键事件,而不使用select?请现在检查,我编辑了我的问题,还检查了codepen链接如果我单击select in codepen中的某个选项,我可以使用下箭头向下滚动(至少在firefox中),而不单击,鼠标滚动可以工作,但按键不能按下,这是因为“页面”没有焦点。也许在页面加载时将javascript焦点放在选择框上也会执行JobTested tabindex,但幸运的是,这对我来说也不起作用,因为它在加载时可以工作一次,如果用户做了其他事情,然后尝试此功能,那么无论用户在您的站点上做什么,让鼠标上/下键移动此特定div都将不起作用,或者是否有一组更具体的实例,用户将关注此功能?