1

我正在修改一个项目,该项目使用 JavaScript 来动态填充文本框值,并对其他文本框的更改进行计算,但我不想更改原始 JavaScript 文件。

如何检测文本框值何时被原始 JavaScript 更改,我需要检测值何时更改然后触发我自己的函数。

如果这更容易,我愿意使用 jquery。

试过:

   $("#total_amt").on("change", function() {
        alert("Handler for .change() called.");
    });

但这仅在我手动更改 total_amt 的值时才有效,而不是在动态更改时有效。

4

2 回答 2

2

你不能。最好的解决方案是在您更改值并自己挂钩时引发自己的事件。像这样的东西:

// after changing the value in code:
$('#total_amt').val(newValue).trigger('dynamicChange');

// event hook
$("#total_amt").on("change dynamicChange", function() {
    alert("Handler for .change() called.");
});
于 2013-06-27T11:19:53.010 回答
0

尝试这个:

 $("#total_amt").on("input", function() {
     alert("Handler for .change() called.");
 });

这是 HTML5 的东西,虽然不适用于现代浏览器,但对于其他浏览器

var lastValue = '';
$("#total_amt").on('change keyup paste', function() {
    if ($(this).val() != lastValue) {
        lastValue = $(this).val();
        calert("Handler for .change() called.");
    }
});
于 2013-06-27T11:19:03.307 回答