我的朋友们,下面的代码曾经在Chrome上工作过52.x版本,但在最新版本中,它不再适用了。你们有谁知道它为什么不起作用?
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.我不想使用document.getElementById(&#34; xxx&#34;)。value =&#34; T&#34;因为在我正在处理的一些非常具体的情况下,我真的只能使用上面的代码触发oninput事件,由于某种原因它不再起作用。
答案 0 :(得分:0)
尝试使用document.execCommand
即;
document.execCommand("insertText", false, "foo");