Ich habe diesen Code Beispiel:jquery Trigger-Aktion auf Fokus oder klicken, aber nicht beide
$myTrigger
.click(function(e){
alert('click');
})
.focus(function(e){
alert('focus');
$(this).click()
})
Die Absicht ist, dass ich etwas geschehen soll, wenn Sie auf $ MyTrigger klicken. Wenn Sie dagegen über die Tastatur darauf zugreifen (zB Fokus), möchte ich, dass genau das Gleiche passiert, also bitte ich um einen Klick.
Der Haken ist, wenn ich darauf klicke, es konzentriert sich auch. Also gehen beide Warnungen aus.
Gibt es eine Möglichkeit zu verhindern, dass das Fokusereignis beim Klicken aufhört?
UPDATE:
Ajm Kommentar bekam dachte mir, dass ich vielleicht bin die falsche Sache zu fragen.
Frage: Wird in javascript (und/oder in jQuery?) Immer auch ein Klick-Ereignis ausgelöst? Kann ich davon ausgehen, dass sowohl das Klicken mit der Maus als auch das Einfädeln mit der Tastatur das Ereignis focus() sowohl behandeln als auch verarbeiten kann?
Oder hängt es von dem bestimmten Element ab, an das ich die Ereignisse anschließe? (In diesem Fall $ myObject geschieht ein Anker-Tag (Link) sein.
Warum nicht einfach die Klickfunktion loswerden und nur den Fokus behalten? Wenn jeder Klick ebenfalls fokussiert ist und Sie möchten, dass er sowohl mit Klicken als auch mit Fokus arbeitet, verwenden Sie nur den Fokus. – Adam
Wäre es sinnvoller, die Aktion zu einer externen Funktion zu machen, die sowohl auf den Klick als auch auf den Fokus ruft? Das würde dieses Problem irgendwie überspringen. >> Ignoriere dies anhand des Kommentars unten. – ajm
@ajm Es wird immer noch diese Funktion zweimal ausführen, denn wenn Sie auf den Fokus klicken passiert auch –