This commit is contained in:
Vanessa 2022-12-10 14:18:51 +08:00
parent 2d6a63d9e7
commit 5706738629
2 changed files with 50 additions and 11 deletions

View file

@ -1,6 +1,5 @@
export const upDownHint = (listElement: Element, event: KeyboardEvent) => {
let currentHintElement: HTMLElement = listElement.querySelector(".b3-list-item--focus");
if (event.key === "ArrowDown") {
event.preventDefault();
event.stopPropagation();
@ -17,7 +16,7 @@ export const upDownHint = (listElement: Element, event: KeyboardEvent) => {
currentHintElement = listElement.querySelector(".b3-list-item--focus");
if (listElement.scrollTop < currentHintElement.offsetTop - listElement.clientHeight + currentHintElement.clientHeight ||
listElement.scrollTop > currentHintElement.offsetTop) {
listElement.scrollTop = currentHintElement.offsetTop - listElement.clientHeight + currentHintElement.clientHeight;
currentHintElement.scrollIntoView(listElement.scrollTop > currentHintElement.offsetTop)
}
return currentHintElement;
} else if (event.key === "ArrowUp") {
@ -37,7 +36,7 @@ export const upDownHint = (listElement: Element, event: KeyboardEvent) => {
currentHintElement = listElement.querySelector(".b3-list-item--focus");
if (listElement.scrollTop < currentHintElement.offsetTop - listElement.clientHeight + currentHintElement.clientHeight ||
listElement.scrollTop > currentHintElement.offsetTop - currentHintElement.clientHeight * 2) {
listElement.scrollTop = currentHintElement.offsetTop - currentHintElement.clientHeight * 2;
currentHintElement.scrollIntoView(listElement.scrollTop > currentHintElement.offsetTop - currentHintElement.clientHeight * 2)
}
return currentHintElement;
}