← Alle Beiträge

Anleitungen

Benutzerdefinierte Tastenkürzel zu jeder Website hinzufügen

Manche Seiten sind für Power-User mit reichen Tastenkürzeln gebaut. Die meisten nicht. Mit einer JustZix-JavaScript-Regel können Sie jeder Seite Ihre eigenen Kürzel hinzufügen — zum nächsten Artikel springen, ein langes Dokument scrollen, das Suchfeld fokussieren oder eine beliebige Schaltfläche per Tastendruck auslösen.

Der Baustein: ein keydown-Listener

Jedes Kürzelsystem beginnt mit einem Listener auf document. JustZix führt Ihr JS einmal pro Seitenladen aus, sodass der Listener sich früh anhängt und die ganze Seite abdeckt.

document.addEventListener('keydown', function (e) {
  // Tastenanschläge ignorieren, während in einem Feld getippt wird
  var tag = (e.target.tagName || '').toLowerCase();
  if (tag === 'input' || tag === 'textarea' || e.target.isContentEditable) {
    return;
  }
  // Kürzel kommen hierher
});

Das frühe return ist wichtig: Es stoppt Ihre Kürzel davon auszulösen, während der Nutzer in ein Suchfeld oder Kommentarfeld tippt.

Beispiel: mit j und k scrollen

Das gibt jeder Seite das klassische vim-artige Scrollen, das Feed-Reader verwenden.

document.addEventListener('keydown', function (e) {
  var tag = (e.target.tagName || '').toLowerCase();
  if (tag === 'input' || tag === 'textarea' || e.target.isContentEditable) return;

  if (e.key === 'j') {
    window.scrollBy({ top: 400, behavior: 'smooth' });
  } else if (e.key === 'k') {
    window.scrollBy({ top: -400, behavior: 'smooth' });
  } else if (e.key === 'g') {
    window.scrollTo({ top: 0, behavior: 'smooth' });
  }
});

Beispiel: zum nächsten oder vorherigen Link springen

Viele Seiten haben "Weiter"- und "Zurück"-Links, aber kein Kürzel dafür. Belegen Sie die Pfeiltasten (mit einem Modifikator, damit sie nicht mit dem normalen Scrollen kollidieren).

document.addEventListener('keydown', function (e) {
  if (!e.altKey) return;

  if (e.key === 'ArrowRight') {
    var next = document.querySelector('a[rel="next"], .pagination-next');
    if (next) next.click();
  } else if (e.key === 'ArrowLeft') {
    var prev = document.querySelector('a[rel="prev"], .pagination-prev');
    if (prev) prev.click();
  }
});

Alt zu halten macht die Belegung sicher — sie stört das eigene Pfeiltastenverhalten des Browsers nicht.

Beispiel: das Suchfeld mit / fokussieren

Die Schrägstrich-Taste öffnet die Suche auf vielen großen Seiten. Fügen Sie sie überall sonst hinzu. Rufen Sie preventDefault() auf, damit das Schrägstrich-Zeichen nicht im Feld landet.

document.addEventListener('keydown', function (e) {
  if (e.key !== '/') return;
  var tag = (e.target.tagName || '').toLowerCase();
  if (tag === 'input' || tag === 'textarea') return;

  var search = document.querySelector(
    'input[type="search"], input[name="q"], input[placeholder*="uch"]'
  );
  if (search) {
    e.preventDefault();
    search.focus();
  }
});

Eine kleine Kürzel-Zuordnung bauen

Sobald Sie mehrere Kürzel haben, hält ein Nachschlageobjekt die Regel ordentlich. Jede Taste ordnet einer Funktion zu.

var shortcuts = {
  'j': function () { window.scrollBy({ top: 400, behavior: 'smooth' }); },
  'k': function () { window.scrollBy({ top: -400, behavior: 'smooth' }); },
  'r': function () { location.reload(); },
  't': function () { window.scrollTo({ top: 0, behavior: 'smooth' }); }
};

document.addEventListener('keydown', function (e) {
  var tag = (e.target.tagName || '').toLowerCase();
  if (tag === 'input' || tag === 'textarea' || e.target.isContentEditable) return;

  var action = shortcuts[e.key];
  if (action) action();
});

Tipps

Sehen Sie ausgearbeitete Beispiele in den fertigen Beispielen oder laden Sie JustZix herunter, um es zu Ihrem Browser hinzuzufügen. Um häufige Aktionen stattdessen in Symbolleisten-Schaltflächen zu verwandeln, lesen Sie Als-Markdown-kopieren- und Saubere-URL-Schaltflächen.

Bewerte diesen Beitrag

Noch keine Bewertungen — sei der Erste.

Probiere es selbst aus

Installiere JustZix und füge ein beliebiges Snippet aus diesem Artikel ein. Zwei Minuten von null bis zu einer funktionierenden Regel auf allen deinen Geräten.

JustZix holen

Funktionen · So funktioniert es · Beispiele · Anwendungsfälle