【问题标题】:JavaScript simulate Accesskey-PressJavaScript 模拟 Accesskey-Press
【发布时间】:2016-04-05 09:56:27
【问题描述】:

我想知道是否有一种方法可以模拟使用 JavaScript 按下访问键。它应该适用于以下 html:

<button accesskey="z">click</button>

这是我使用 jQuery 的方法(在 Chrome 中按 ALT+Z):

var e = $.Event("keypress");
e.which = 90;
e.altKey = true;
$('button').trigger(e);

但到目前为止还行不通。我想专门测试一下accesskey,只是通过JavaScript点击按钮不是我正在寻找的解决方案。

【问题讨论】:

  • 为什么要专门测试这个?
  • 目标是为多个平台上的自动测试构建一个测试工具(我会做浏览器嗅探以找到正确的组合键)

标签: javascript jquery access-keys


【解决方案1】:

我认为您将不得不使用 Selenium 之类的东西来完成此操作。我已经阅读了我能找到的关于这个问题的所有文献,并在 jsFiddle 中进行了实验。浏览器将 accesskey 事件视为鼠标单击。即使您确实设法触发了它,事件元数据都表明源是鼠标单击,因此您无法明确确认。

我尝试在 DOM 的所有级别和所有键事件类型上触发组合键,这表明 accesskey 功能是在浏览器级别而不是 API。

Selenium

[已编辑答案,似乎需要不同的技术]

【讨论】:

  • 感谢您的帮助。这不完全是我正在尝试的。我用点击监听器替换了按键监听器https://jsfiddle.net/zzscn8xj/1/据我了解,监听器也应该被触发(就像我自己按下accesskey组合一样)
  • 我看到了问题,正在重新思考。
  • 这很不幸,但似乎确实不可能。非常感谢您的努力,不胜感激
猜你喜欢
  • 1970-01-01
  • 2021-03-10
  • 2022-11-08
  • 2011-05-13
  • 1970-01-01
  • 2011-03-06
  • 2021-08-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多