From 13f72ed52414e1319f71e5216b1ca5843be53bfc Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Mon, 23 Sep 2024 21:10:52 +0200 Subject: Restore focus behavior on . and / keydown, fixes #91 --- app/page.tsx | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/app/page.tsx b/app/page.tsx index 7f702a4..0c8eaa0 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -50,12 +50,30 @@ export default function Cidr() { const target = event.currentTarget as HTMLInputElement; let value = parseInt(target.value); - if (event.key == "ArrowDown" && value > min) { + if (event.key === "ArrowDown" && value > min) { value -= 1; } - if (event.key == "ArrowUp" && value < max) { + else if (event.key === "ArrowUp" && value < max) { value += 1; } + else if (event.key === '.') { + event.preventDefault(); + const parent = (event.target as Node).parentNode; + const next = parent?.nextSibling?.firstChild; + if (next instanceof HTMLInputElement) { + next.select(); + next.focus(); + } + } + else if (event.key === "/") { + event.preventDefault(); + const parent = (event.target as Node).parentNode; + const mask = parent?.nextSibling; + if (mask instanceof HTMLInputElement) { + mask.select(); + mask.focus(); + } + } if (i == 4) { setCidr(value); -- cgit v1.3.1