browserstack ctrl+enter 键盘事件未在 chrome 或 IE 中注册

browserstack ctrl+enter keyboard event not registering in chrome or IE

我正在测试 Browserstack 上的一个功能,我不确定它是否真的在 Windows 上损坏,或者 Browserstack 是否没有正确获取我的键盘事件。

我正在尝试检测用户何时按下 ctrl+enter。下面的代码片段在我的 MacBook 上的 Chrome 中运行良好。但是,当我在 Windows 10 和 Chrome 87(最新)中使用 Browserstack 运行 它时,它没有注册正确的键盘事件。

重现步骤

  1. 在 MacBook 上,转到 www.browserstack.com
  2. 开始与此 post 作为 url 的实时会话:
  3. 选择Windows10Chrome87(最新)
  4. 单击 Browserstack 中下面的 运行 代码片段按钮
  5. 点击输入框
  6. 按 ctrl+enter

预期行为: 我看到“键:Enter,ctrlKey:true”

观察到的行为: 我看到“key: Control, ctrlKey: true”

const input = document.getElementById('input')
const output = document.getElementById('output')
input.addEventListener('keydown', (e) => {
  output.innerText = `key: ${e.key}, ctrlKey: ${e.ctrlKey}`
})
<input type="text" id="input" />
<div id="output"></div>

我与 Browerstack 的客户服务部门进行了交谈。他们能够确认这是 Browserstack 中的错误。我认为这与他们切换 cmd 和 ctrl 键的方式有关。无论如何,听起来他们并没有优先考虑这个错误。

如果您正在开发需要按 ctrl+enter 的应用程序(例如,提交评论以便用户可以使用 enter 键创建换行符),那么最好的测试方法是 https://www.lambdatest.com .我检查了所有其他主要竞争对手,LambdaTest 是唯一提供免费实时测试的竞争对手,尽管与 Browserstack 不同,您确实需要注册一个帐户。 LambdaTest 没有这个错误,所以我能够在那里很好地测试该功能。