← 全部示例

JavaScript 导航

用 j/k 键导航列表项

j 和 k 键以 Vim 风格在列表项间移动选择并滚动。

可复制的代码

var items = Array.prototype.slice.call(
  document.querySelectorAll('article, li, .item, [role="listitem"]')
).filter(function (el) { return el.offsetHeight > 20; });
var idx = -1;
document.addEventListener('keydown', function (e) {
  if (e.target.matches('input, textarea, select, [contenteditable]')) { return; }
  if (e.key !== 'j' && e.key !== 'k') { return; }
  if (!items.length) { return; }
  if (idx >= 0) { items[idx].style.outline = ''; }
  idx = e.key === 'j' ? Math.min(idx + 1, items.length - 1)
                      : Math.max(idx - 1, 0);
  items[idx].style.outline = '3px solid #006870';
  items[idx].scrollIntoView({ behavior: 'smooth', block: 'center' });
});

如何使用此示例

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

为此示例评分

暂无评分 — 成为第一个。

此示例有效吗?

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

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

免费下载 查看应用场景