是否可以像真实用户交互那样进行JavaScript操作来更改文档的activeElement
Can javascript actions be made to change the document's activeElement as would happen with real user interactions?
我正在编写JSONWire协议的实现。该实现模拟用户行为(单击、导航等)...我的目标是制作一个更轻(尽管功能不那么完整)的Selenium服务器版本。
现在我注意到,在模拟事件(例如,单击)时,document.activeElement
属性不会更改。
我做了这个JSfiddle来演示:http://jsfiddle.net/75bq50wa/6/。
您应该注意到,如果您单击"单击我"复选框,activeElement
会更改,而在使用 Javascript 单击时不会更改。
我的解释是,只有本机事件才会改变activeElement
属性的状态。
这是正确的,还是有没有办法在Javascript中更好地模拟用户事件?
W3C 建议 (http://www.w3.org/TR/html5/editing.html) 说:
document . activeElement
Returns the currently focused element.
这意味着,您需要另外 focus() 元素,以便正确模拟用户的点击。
请参阅此更新的 JSFiddle:http://jsfiddle.net/e3vg5k75/
相关文章:
- 操作javascript变量[HTML]以只显示文本
- 如何使用keyup或input进行操作?javascript(jQuery)
- RubyonRails环境控制器操作JavaScript响应
- 在替换之前,操作javascript正则表达式匹配,例如$1
- 每次 iframe 重新导航时执行操作.(JavaScript)
- 使用下划线操作 JavaScript 对象
- 如何阻止 confirm() 的默认操作 JavaScript
- 结束游戏的逻辑操作 Javascript
- 操作 JavaScript 日期对象
- CSS 样式操作:Javascript 不起作用
- 镜像/复制鼠标操作 JavaScript
- 使用Java操作JavaScript
- 操作JavaScript数组
- 循环遍历无序列表并对每个节点执行操作Javascript
- 操作Javascript数据在D3.js上切换系列
- 如何通过在检查器中操作Javascript来抓取表?页面仅显示当前日期's的数据,但我想回到过去,重新收集
- 从java操作Javascript对象
- 更改默认键操作JavaScript
- 使用Jquery $.each()操作Javascript对象
- 是否有一种方法可以使用JS或jQuery来操作JavaScript表单