javascript - 如何使用 JS/Jquery 检测输入值何时动态变化

标签 javascript jquery input dynamic triggers

我能够检测输入在键入、粘贴等时是否更改值,但是如果值从另一个脚本动态更改,我将无法检测到它:

假设我有一个输入

<input id="testInput" value="Type Here" />

如果通过输入值发生变化,我想提醒“已更改”

$('#testInput').on('input', function(){
    alert("changed");
});

这可行,但如果值从另一个脚本动态更改,我无法触发警报:

$('#testInput').val("Dynamic Value"); //This doesn't show the alert

我希望能够通过键入、粘贴或从脚本或操作动态检测值是否发生变化。

.val() 在许多不同的地方执行,因此将整个代码更改为 .val() 等其他内容.trigger("change") 不是一个选项。

这是一个带有更好示例的 jsfiddle:

https://jsfiddle.net/xpvt214o/486146/

最佳答案

只需触发事件即可!

$('#testInput').val("Dynamic Value").trigger("input");

关于javascript - 如何使用 JS/Jquery 检测输入值何时动态变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51528095/

相关文章:

javascript - 让状态更改对我不起作用

java - spring mvc 不返回 json 内容 - 错误 406

javascript - 在数组中动态添加变量

javascript - 处理 Javascript 事件的正确方法

javascript - Angular 2 : A property set during OnInit is undefined on the template

javascript - Javascript 中的单独 url/链接

linux - 如何使用输入子系统在 Linux 上使用键盘事件

C++ 获取多行

javascript - 签名板 - "Type It"不工作

javascript - 使用 AJAX 调用将 PHP 字符串数组转换为 Javascript 对象数组