JS 事件类型改变/keydown/beforeinput/

问题描述 投票:0回答:1

我有一个类型为

number
的输入元素,并预填充了零。 现在我想每次值改变时触发一些JS...但是

  • 如果用户按退格键删除初始零,则不应触发。
  • 如果用户使用数字字段可用的箭头,则应该触发它

所以这不起作用,因为它在退格键上被触发:

on(document, "change keydown", ".mynumberfield", function (e) {
...
javascript events dom-events
1个回答
0
投票

您可以尝试这样做:

var text = document.getElementById("text");
text.addEventListener("input", keyp);
var prev = text.value;

function keyp(e){
if((parseInt(text.value)+0)!=prev){
performAction()
}
prev = parseInt(text.value);
}

function performAction(){
console.log("Input changed!");
// Add whatever you want here
}
<p>Put your input here</p>
<input type="number" id="text"></input>

代码只是检查实际值是否已更改。如果是这样,它就会执行你想要的 JS 操作。否则什么都不会发生。

© www.soinside.com 2019 - 2024. All rights reserved.