• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

jQuery Enter löst Event zwei mal aus

Chronos

Aktives Mitglied
Hallo Forum,

für ein Formular hab ich eine Reihe von Buttons,
die alle per click oder beim auslösen der Enter-Taste Werte in Textfelder schreiben.
Will ich jetzt mit Enter die Funktion aufrufen (der Button hat dann schon den Fokus),
ruft er die Funktion zwei mal auf, also auch das Click-Event, kann man das irgendwie umgehen?

HTML:
var btn_common = $('a.button');

// Escape-Taste
var esc = 27;

// Enter-Taste
var ent = 13;

btn_common.on({
  "keydown": function(e) {
      switch(e.keyCode) {
        case ent:
          console.log(writeValueInTextfield($(this)));
          break;
        case esc:
          console.log('Escape :o');
      }   
    },
   
  "click": function() {
    console.log(writeValueInTextfield($(this)));
  }
 })
 
Moin,
ich würde in dem Fall bei Click das keydown event triggern, dann könntest du das abfangen.

$('a.button').keydown();

keyCode wird dann nicht gesetzt, dafür ist aber e.isTrigger true.

MfG

//Fehler meinerseits, isTrigger und nicht is_trigger
 
Zuletzt bearbeitet:
Zurück
Oben