这个问题已在几个地方提出,但我没有找到一个好的答案。我想检测输入(文本)值的变化。通过没有框架的纯javascript来更改该值(我无法访问它),因此解决方案无法修改jquery的val()函数来触发事件。如你所知,事件不会奏效。唯一可行的解决方案是
setInterval(function() { ObserveInputValue($('#input_id').val()); }, 100);
但我希望在不使用setInterval
答案 0 :(得分:0)
正如大卫·托马斯所说,通过javascript更改值不会触发onchange事件...因此,你的javascript函数需要在完成后调用element.onchange()事件。
答案 1 :(得分:0)
您可以编写自己的JavaScript函数来使用jQuery监听onChange()事件,然后监视值是否已更改。
使用JavaScript的代码如下:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<input type="text" id="checkThis" placeholder="Enter Something Here...">
<script type="text/javascript">
$("#checkThis").on("change", function() {
// Press `F12` on Chrome or `Ctrl+Shift+S` on Firefox to view output in browser console
console.log($(this).val());
});
</script>