This question already has answers here:
selectionStart/selectionEnd on input type=“number” no longer allowed in Chrome
(12个答案)
去年关门了。
这就是:https://stackoverflow.com/a/48150864/1173856但当输入类型是数字时,它在Firefox或Chrome中不起作用。在这些情况下,selectionStartselectionEnd都是空的。
document.getElementById('foobar').addEventListener('keyup', e => {
  console.log('Caret at: ', e.target.selectionStart)
})

<input id="foobar" type="number" />

最佳答案

根据规范selectionStart only works for text, search, tel, url and password
也许您可以使用text代替,并使用regex只接受数字。
已经有人讨论过这个问题。应该有其他方法可以帮助您实现您的案例。

09-25 21:50