← 全部示例

JavaScript 导航 stackoverflow.com

Stack Overflow:用 J/K 键导航答案

让 J 和 K 键依次在答案之间跳转,阅读时无需使用鼠标。

可复制的代码

/* Use J / K keys to jump between answers */
(function () {
  var idx = -1;
  function answers() {
    return Array.prototype.slice.call(document.querySelectorAll('#answers .answer'));
  }
  document.addEventListener('keydown', function (e) {
    if (e.ctrlKey || e.altKey || e.metaKey) return;
    var tag = (e.target.tagName || '').toLowerCase();
    if (tag === 'input' || tag === 'textarea' || e.target.isContentEditable) return;
    var list = answers();
    if (!list.length) return;
    if (e.key === 'j') { idx = Math.min(idx + 1, list.length - 1); }
    else if (e.key === 'k') { idx = Math.max(idx - 1, 0); }
    else { return; }
    list[idx].scrollIntoView({ behavior: 'smooth', block: 'start' });
    e.preventDefault();
  });
})();

如何使用此示例

  1. 用上方按钮复制代码。
  2. 安装 JustZix(2 分钟),在目标页面打开扩展。
  3. 添加一条匹配该页面的新规则。
  4. 将代码粘贴到规则的 JavaScript 面板并保存 — 每次访问页面时都会运行。

为此示例评分

暂无评分 — 成为第一个。

此示例有效吗?

没有可粘贴的地方,代码片段毫无用处。

JustZix 安装只需 2 分钟,并在每个匹配的页面上运行你的代码。无需账户、无需付费。

免费下载 查看应用场景