jQuery - ¿Activar evento de clic en enlaces con barra espaciadora?
Parece que en la mayoría de los navegadores, un<input type="submit">
trata tanto la [barra espaciadora] como [enter] como un clic, pero un<a>
el enlace solo trata [enter] como un clic.
Mi aplicación utiliza varios enlaces formateados para simular botones, por lo que un usuario que esté acostumbrado a presionar un botón y presionar [barra espaciadora] se sentirá frustrado.
Este bit de jQuery resuelve el problema:
$("a.Button").die("keypress").live("keypress", function(e) {
if (e.which == 32) {
$(this).trigger("click");
e.preventDefault();
}
});
Mi pregunta: ¿Hay alguna razón para no hacer esto? Soy un poco reacio a anular el comportamiento predeterminado del navegador en algo tan básico como esto, pero como ya estoy abusando de la etiqueta de enlace para que parezca un botón, al menos de esta manera no estoy violando las expectativas del usuario. promover, adicional.