如何使用JQuery拦截用户每次更改页面上输入字段内的数字

How can I use JQuery to intercept each time that the user change a digit inside an input field on my page?

本文关键字:输入 字段 数字 JQuery 何使用 用户      更新时间:2023-09-26

我对JavaScript和JQuery很陌生,我有以下情况,这里是JSFiddle:https://jsfiddle.net/AndreaNobili/eemrb8xo/3/

因此,正如您所看到的,在HTML中,我有一个输入字段:

<input id="variazioneAnticipo" class="rightAlligned form-control" style="width: 60%" type="number" step="0.01" min="0" value="3" />

然后我有这个JQuery代码:

$(document).ready(function() {
    $("#variazioneAnticipo").change(function() {
        var variazioneAnticipo = $("#variazioneAnticipo").val();
        alert("CHANGED VALUE, NEW VALUE: " + variazioneAnticipo);
    });
});

因此,正如您在上一个JSFiddle中所看到的,当用户更改输入字段内的值时,将在change()函数内声明匿名回调函数,并执行警报。

好的,这个行。

因此,用户可以通过两种方式更改值:

  1. 使用上下箭头:当我单击箭头时,弹出的警报将正确显示。

  2. 更改值,在输入标记中插入一个新数字(写入)。

在第二种情况下,似乎只有当用户完成插入新号码并点击输入字段时,才调用匿名回调函数。我认为这是JQuerychange()函数的标准行为。

我需要每当用户在输入字段中插入一个新数字时调用这个函数,而不仅仅是当它插入了整个数字并点击退出输入字段时。

我可以获得这种行为吗?我能做什么?

$(document).ready(function() {
    $("#variazioneAnticipo").bind('change keyup', function() {
        var variazioneAnticipo = $("#variazioneAnticipo").val();
        alert("CHANGED VALUE, NEW VALUE: " + variazioneAnticipo);
    });
});

使用Jquery key-up事件,您将获得所需的结果。

$(document).ready(function){

$("#variazioneAnticipo").keyup(function() {
    var variazioneAnticipo = $("#variazioneAnticipo").val();
    alert("ANTICIPO VARIATO: " + variazioneAnticipo);
});

});

keyup事件会产生大量噪音。我建议使用inputpropertychange事件。