猿问

当字段自动归档时触发OnChange?

我想在我的一个字段(文本框)发生变化时触发一个函数。问题是:该文本框的内容由外部脚本(我无权访问)自动归档,因此onChange监听器不会触发。

我已经尝试了很多代码,但这里有两个最接近(我认为?)的结果:

这是脚本和字段

<script async src="SomeNiceScriptHere.js"></script><input type="text" name="wt_embed_output" id="wt_embed_output" class="wt_embed_output"/>

代码1:

function myFunction() {
    var x = document.getElementById("wt_embed_output").value;
    alert("The input value has changed. The new value is: " + x);}
    document.getElementById("wt_embed_output").addEventListener("change", myFunction);

代码2:

$( "#wt_embed_output" ).change(function() {
  alert( "Value has been changed" );});

目前,当使用脚本更新值时它不起作用,它仅在用户手动更改值时有效。有谁知道这样做的方法?


holdtom
浏览 556回答 2
2回答

一只萌萌小番薯

onchange&nbsp;仅当用户提交对input元素的更改时才会发生,大多数情况下,这是元素失去焦点时。尝试使用oninput事件;如果这不起作用,您可以使用适用于所有情况的解决方案:使用设置计时事件&nbsp;setInterval()

墨色风雨

尝试在中添加事件侦听器input。var el = document.getElementById('wt_embed_output');el.value = 'New Value'el.dispatchEvent(new Event('oninput'));&nbsp;&nbsp;document.getElementById("wt_embed_output").addEventListener("oninput", myFunction());function myFunction() {&nbsp; var x = document.getElementById("wt_embed_output").value;&nbsp; alert("The input value has changed. The new value is: " + x);}<input type="text" name="wt_embed_output" id="wt_embed_output" class="wt_embed_output" />
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答