我的朋友們,下面的代碼用於在Chrome中工作到52.x版本,但在最新版本中,它不再工作。你們有沒有任何想法,爲什麼它不起作用?OnInput事件不再有效
https://jsfiddle.net/2jtrs2m2/
<input type="text" id="test" />
<script type="text/javascript">
var my_event = document.createEvent("TextEvent");
my_event.initTextEvent("textInput",true,false,window,"T");
document.getElementById("test").focus();
document.getElementById("test").dispatchEvent(my_event);
</script>
通常當我執行該代碼時,Chrome將插入字符T IN的輸入端。我不想在一些非常特殊的情況下使用document.getElementById(「xxx」)value =「T」,因爲我正在使用上面的代碼來觸發oninput事件,這個事件由於某種原因不再工作。
奇怪!你的事件數據有console.log(my_event.data);顯示「T」。我會對解決方案感興趣:-)雖然我認爲這是一個鉻合金問題 –
Yeap,你是對的。這真的很奇怪,在控制檯裏它看起來很好。 – Samul
我可以確認從Chrome 52.0.2743.116更新到53.0.2785.116可以解決這個問題。 –