3 回答

TA贡献1825条经验 获得超4个赞
尝试在input.
var el = document.getElementById('wt_embed_output');
el.value = 'New Value'
el.dispatchEvent(new Event('oninput'));
document.getElementById("wt_embed_output").addEventListener("oninput", myFunction());
function myFunction() {
var x = document.getElementById("wt_embed_output").value;
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" />

TA贡献1802条经验 获得超4个赞
onchange
仅在用户提交对 input 元素的更改时发生,大多数时候这是元素失去焦点的时候。
尝试使用oninput
事件;
如果这不起作用,您可以使用适用于所有情况的解决方案:使用 setInterval()

TA贡献1843条经验 获得超7个赞
这不是一个完美的解决方案,但它有效。由于我无法在脚本执行后立即获取字段中的文本,因此我对 myFunction() 做了一些解决方法:
<script>
function myFunction() {
if(document.getElementsByClassName('wt_embed__message')[0].getElementsByClassName('main')[0].textContent != 'Upload completed!'){
setTimeout(myFunction, 500);
}
else{
var wt_output = document.getElementById("wt_embed_output").value;
//do something
}
}
window.addEventListener("load", myFunction);
</script>
-> 当页面加载时,我的函数被调用直到外部脚本运行。一旦我收到指定的消息,我就知道脚本已完成,因此我摆脱了“if”条件。
添加回答
举报