jQuery - Klickereignis bei Links mit Leertaste auslösen?

Es sieht aus wie in den meisten Browsern<input type="submit"> behandelt sowohl [Leertaste] als auch [Eingabetaste] als Klick, aber ein<a> link only behandelt [enter] als Klick.

Meine App verwendet eine Reihe von Links, die zum Simulieren von Schaltflächen formatiert sind, sodass ein Benutzer, der daran gewöhnt ist, auf eine Schaltfläche zu tippen und die [Leertaste] zu drücken, frustriert ist.

Dieses bisschen von jQuery löst das Problem:

$("a.Button").die("keypress").live("keypress", function(e) {
    if (e.which == 32) {
        $(this).trigger("click");
        e.preventDefault();
    }
});

Meine Frage: Gibt es einen Grund, dies nicht zu tun? Ich zögere ein wenig, das Standardverhalten des Browsers in Bezug auf so etwas Grundlegendes außer Kraft zu setzen, aber da ich das Link-Tag bereits missbraucht habe, um es wie eine Schaltfläche aussehen zu lassen, verstoße ich zumindest auf diese Weise nicht gegen die Erwartungen des Benutzers des Weiteren.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage