我的朋友们,下面的代码用于在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可以解决这个问题。 –