您可以使用以下任何事件:
onkeyup = "console.log(event.key)" onkeypress = "console.log(event.key)" onkeydown = "console.log(event.key)"
但是一旦输入关键值,这些就会触发。
在您的用例中,用户将永远无法在输入元素中实际输入除数字之外的任何内容,因为它被设置为type =“number”。您可以尝试使用type =“text”来区分数字和其他字符之间的值。
我担心没有办法,因为它只是为了接受数字。 但是,如果用户没有通过切换到的号码输入数字,您至少可以检索 的 oninput 强> 事件和评估 的 valueAsNumber 强> 虽然。
所以
<input type="number" oninput="console.log(this.valueAsNumber)">
将返回 的 NAN 强> 如果不是数字。
您无法从输入类型编号获取文本输入,因此您可以这样做
在HTML中
<input type="text" onchange="detectNumber(this.value)" id = 'number_input'">
在js
let numberInput = document.querySelector('#number_input'); function detectNumber(value){ if(isNaN(parseInt(value))){ console.log('Text input!!') numberInput.value = value.split('').pop().join(''); } }
这是一个例子 type:number 没有输入任何文字或承租人 只有允许的号码才能查看
type:number