【发布时间】:2020-08-08 12:40:42
【问题描述】:
按向上箭头/向下箭头时,如何将焦点设置到列表项中的上一个/下一个元素 苗条的钥匙?
我想在按下向下箭头键时将焦点更改为下一个列表项,并在从键盘按下向上箭头键时将焦点更改为上一个列表项,我已经开始处理一些代码,但它仍然无法正常工作,如果有人可以帮助我,那就太好了,在此先感谢
代码:-
<script>
let keyCode;
let item;
function handleKeydown() {
item = document.getElementsByClassName('item');
let itemLength = item.length;
keyCode = event.keyCode;
switch(keyCode){
//ArrowUp
case 38:
//when clicking up arrow focus should move upwards li elements
break;
//ArrowDown
case 40:
//when clicking down arrow focus should move downwards li elements
break;
}
}
</script>
<style>
.item:focus{
border: 1px solid #000000;
}
</style>
<svelte:window on:keydown={handleKeydown} />
<ul>
<li class="item" tabindex="0" >
<p>List Item 1</p>
</li>
<li class="item" tabindex="0" >
<p>List Item 2</p>
</li>
<li class="item" tabindex="0" >
<p>List Item 3</p>
</li>
</ul>
【问题讨论】:
标签: javascript focus keypress svelte listitem