Deine Frage-Antwort-Community
Frage stellen
    • Meinung des Tages: 3. Modernisierungsgesetz in Bayern - Soll Bürokratie abgebaut werden, auch wenn dabei Umweltauflagen gelockert werden?
    • Warum gibt es keinen Weltraumtourismus auf dem Mond?
    • Geld sparen - wie schafft ihr das?
    • Kennt ihr eure negativen Eigenschaften und könnt damit umgehen?
    • Wie sehr begleitet dich KI im Alltag?
    • Was war der Moment, in dem du gemerkt hast: "Okay, jetzt bin ich wirklich erwachsen" 😅?
    • Alle Beiträge
    • Radiokooperation mit Absolut HOT 🔥
    • Meinung des Tages
    • Themenspecial: Wechseljahre (mit der Influencerin blondbynana)
    • Blickwechsel: Deine Fragen an einen unheilbar kranken Lungenkrebspatienten
    • Ask Me Anything:
      Alle Blickwechsel
    • Ask Me Anything:
      Alle Themenspecials
    • gutefrage Tipps
    • gutefrage Highlights
    • Computer
    • Internet & Social Media
    • Kreativität, Freizeit & Hobby
    • Lokales, Reiseziele & Urlaub
    • Medien, Unterhaltung & Musik
    • Mode & Beauty
    • Software & Apps
    • Spiele & Gaming
    • Sport & Fitness
    • Alle Themenwelten
In wenigen Minuten
Antworten auf Deine Fragen.
Frage stellen
Du hast noch kein gutefrage Profil? Jetzt kostenlos erstellen
Profil Beiträge Antworten Antworten

verreisterNutzer

13.10.2022
Übersicht
0
Hilf. Antw.
1
Antwort
0
Beiträge
0
Danke
0
Komplim.
0
Freunde
ElDavo
05.10.2022, 15:51
Skript, um eine Taste beim gedrückt halten mehrfach zu drücken?

Guten Tag,

das hier ist ein JavaScript, welches dafür sorgt, dass ich, wenn ich eine Taste gedrückt halte, die Funktion mehrfach ausgeführt wird.

$(function () {
  const holdDelay = 82, // ms delay to start dropping after pressing
  dropDelay = 32 // ms delay between drops
  let keys = {};
  $(document).on("keydown", (e) => {
    // if (e.keyCode != $('#pellet').text().charCodeAt(0)) return;
    if (e.keyCode in keys) return;

    keys[e.keyCode] = setTimeout(() => {
      drop(e.keyCode);
    }, holdDelay);
  }).on("keyup", (e) => {
    clearTimeout(keys[e.keyCode]);
    delete keys[e.keyCode];
  });
  const drop = key => {
    if (keys[key] == null) return;

    window.onkeydown({ keyCode: key });
    window.onkeyup({ keyCode: key });
    setTimeout(drop, dropDelay, key);
  }
});

Weiß jemand, wie ich machen kann, dass das nur für eine Taste gilt?

...zum Beitrag
Antwort
von verreisterNutzer
13.10.2022, 19:41

Ich bin mir nicht sicher, weshalb Du Dich für diese komplizierte Vorgehensweise entschieden hast.

Folgender Code reicht vollkommen aus, um eine Funktion bei gedrückter Taste mehrmals ausführen zu lassen:

document.addEventListener("keydown", function(event) {
    // e.keyCode ist mittlerweise veraltet, deshalb event.key
    if(event.key === "Enter") {
        // …
    }
});
...zur Antwort
gutefrage
  • Beitrag erstellen
  • Stöbern
  • Alle Themen
  • Hilfe / FAQ
  • Richtlinien
  • gutefrage Highlights
Partner
  • Businesspartner
  • Partner werden
Unternehmen
  • Über uns
  • Jobs
  • Kontakt
  • Presse
Rechtliches
  • Impressum
  • Datenschutz
  • AGB
  • Utiq verwalten
Weil es immer jemand weiß.
gutefrage ist so vielseitig wie keine andere Frage-Antwort-Plattform. Bei uns findest Du schnell neue Perspektiven - egal zu welchem Thema.
Gmacht in Minga. Mit
❤
Facebook Pixel