调度键盘事件不'不能在JavaScript中工作
Dispatching keyboard event doesn't work in JavaScript
我正在尝试用JavaScript模拟浏览器中的用户输入。点击事件被成功创建和调度,但由于某些原因,类似的键盘事件代码似乎根本不起作用。
var event = document.createEvent("KeyboardEvent");
event.initKeyEvent("keydown", true, true, window, false, false, false, false, 87, 0);
document.getElementById("id").dispatchEvent(event);
这将返回true,但相应的字符不会出现在输入中。我也试过用keypress和keyup,它们都不起作用(针对FF和Chrome进行了测试)。是出于某些安全原因被浏览器禁止,还是我做错了什么?有没有变通办法让它发挥作用?
事件调度良好,所有事件侦听器都将启动,但没有发生的是字符没有被"键入"。这是因为事件的来源不是正确的。这是一个"安全功能"。
使用结果文本模拟键入的唯一方法是重新设置值或显式更改节点的内容。
相关文章:
- JSON.parse没有'不能使用Javascript
- javascript扫雷器floodfill算法不能正常工作
- JavaScript指令不能像我想象的那样工作
- javascript没有´我不能在joomla 3.0中工作
- 用javascript将script元素附加到头部;铬不能工作
- 我不能使用变量作为javascript参数
- 为什么我的JavaScript在Safari上的严格模式下不能正常工作
- 刷新GoogleMaps tile服务器可以使用JavaScript,但不能使用GWT
- 如何使用 javascript 按列对表进行排序?不能在这里使用 jquery.我正在使用javascript从xml文
- Javascript赢得'不能在IE上编译,但可以在Chrome上运行
- 不能在javascript innerHTML中具有类
- 用户名输入如果其他块不能正常工作/Javascript-jQuery-AJAX
- Javascript字母选择没有'我不能在谷歌浏览器上工作
- Javascript不能在一个命令中使用函数参数
- javascript don't不能按id找到每个元素
- 变量只能在函数中局部工作,不能全局工作-Javascript
- 为什么我不能在FancyBox中使用javascript变量
- 引导程序's的javascript在本地工作,但在部署到服务器时不能工作
- Javascript可以在chrome中使用,但不能在其他浏览器中使用
- JavaScript while循环没有'不能在有条件的情况下工作