3 回答

TA貢獻(xiàn)1825條經(jīng)驗 獲得超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貢獻(xiàn)1802條經(jīng)驗 獲得超4個贊
onchange
僅在用戶提交對 input 元素的更改時發(fā)生,大多數(shù)時候這是元素失去焦點的時候。
嘗試使用oninput
事件;
如果這不起作用,您可以使用適用于所有情況的解決方案:使用 setInterval()

TA貢獻(xiàn)1843條經(jīng)驗 獲得超7個贊
這不是一個完美的解決方案,但它有效。由于我無法在腳本執(zhí)行后立即獲取字段中的文本,因此我對 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>
-> 當(dāng)頁面加載時,我的函數(shù)被調(diào)用直到外部腳本運行。一旦我收到指定的消息,我就知道腳本已完成,因此我擺脫了“if”條件。
添加回答
舉報