在 Firefox 中更改 accesskey 修饰键
Posted
技术标签:
【中文标题】在 Firefox 中更改 accesskey 修饰键【英文标题】:Change accesskey modifier keys in Firefox 【发布时间】:2017-02-07 10:15:46 【问题描述】:我正在开发一个网站,其中每个页面都有按钮,例如“提交”和“取消”。这些按钮中的每一个都有一个accesskey
属性。提交按钮的accesskey
属性设置为S
,取消按钮的accesskey
属性设置为C
。
在不同的浏览器中使用不同的修饰符激活访问键。 Internet Explorer、Safari 和 Google Chrome 仅使用 alt,而 Firefox 使用 alt 和 shift 键。同样,Firefox 使用 alt + s 来打开历史菜单。
此问题的答案不应建议更改浏览器配置中的设置,因为这在生产站点上是不可行的。
如何将 Firefox 用于 accesskey
的修饰键更改为 alt,并阻止历史菜单打开?
我在 Ubuntu 16.04 中工作。
【问题讨论】:
如果现有答案不能回答您的问题,请解释如何,请记住,并非一切皆有可能,如果不是,这是一个有效的答案. @QPaysTaxes 现有答案在 ubuntu 16.04 中无法使用 firefox 浏览器 请给我一个合适的解决方案 这个问题不成立。 如果 ^ 不是特别有用,也许现在你明白我所说的“澄清”是什么意思了。 “不工作”不是问题描述。/ 【参考方案1】:据我所知,您不能更改激活accesskey
所需的组合键,但您要实现的目标不需要使用accesskey
属性。可以直接监听 keydown 事件。
为文档添加一个 keydown 事件监听器。在处理函数中检查是否按下了 alt 和 s 键。如果它们是 - 并且没有按下其他修饰键 - 阻止事件的默认操作,然后在提交按钮上触发单击事件。在提交按钮上触发单击事件将依次触发提交事件侦听器,而 @987654321 @
const submit = document.querySelector('#submit')
document.addEventListener('keydown', e =>
// If the only modifier key is the alt key, and the s key is pressed
if(!e.metaKey && !e.ctrlKey && !e.shiftKey && e.altKey && e.key === 's')
e.preventDefault() // Prevent the mozilla history menu from opening
submit.click() // Trigger the form submission
)
<form action=""><button type="submit" id="submit"><u>S</u>ubmit</button></form>
注意事项:1.虽然这适用于当前稳定版本的 Firefox,但我还没有测试过其他版本2。此示例使用 2015 版 The ECMAScript Language Specification 中引入的语言功能。这些功能不是达到预期效果所必需的,而是使代码更易于阅读。如果需要支持旧版浏览器,可以用var
代替const
,用标准函数代替粗箭头函数。3.不幸的是,由于沙盒,Stack Overflow sn-p 功能不适用于此示例,请参阅此example on JSBin
【讨论】:
Answer 在 ubuntu 16.04 中无法使用 firefox 浏览器 @bobmarti 您必须包含一个可重现的示例,说明它在 ubuntu 上的 firefox 中不起作用,因为上面的示例实际上对我在 ubuntu 上的 firefox 中有效。【参考方案2】:如果您想深入了解它,请尝试这篇文章以获得更多信息:http://kb.mozillazine.org/Ui.key.contentAccess
如果您发现无法习惯“in-tab”首选项对话框,则有一个返回旧样式对话框的首选项:
在新选项卡中,在地址栏中键入或粘贴 about:config,然后 按 Enter。点击承诺小心的按钮。
在列表上方的搜索框中,键入或粘贴首选项,然后暂停 列表被过滤
双击 browser.preferences.inContent 首选项进行切换 从真到假
注意:我不知道这是否会永远存在于 Firefox 中,或者只是一个过渡功能。
【讨论】:
我提供了一些关于我的问题的详细信息。我不想更改 about:config 中的任何内容。 感谢您的链接。我打开 about:config,然后写了 ui.key.contentAccess = 6,其中 6 = 2 (Ctrl) + 4 (Alt)。现在我可以使用 Ctrl + Alt 来访问 Wikipedia 中的快捷方式。参见***:键盘快捷键w.wiki/Trm以上是关于在 Firefox 中更改 accesskey 修饰键的主要内容,如果未能解决你的问题,请参考以下文章
在 IE/Chrome 中动态更改嵌入式视频 src(适用于 Firefox)
在 Firefox 中更改 window.location.href 而不关闭 websockets