In an <input type="number">
, I can type the following invalid input in Chrome:
- Type
11
, - Move the caret in the middle between both
1
s, - Type
-
.
However, I cannot type this invalid input:
- Type
1e
, - Move the caret in the middle between the
1
and thee
, - Press
-
; it won’t be typed.
But both of these values are invalid: input.value
is the empty string.
What is the logic behind this behavior?
Example below for you to type numbers:
addEventListener("input", ({ target: { value } }) => document.querySelector("p").textContent = value);
<input type="number"/>
<p></p>