jQuery - 在空格键的链接上触发点击事件?

Her*_*ill 9 jquery user-interface user-experience

看起来在大多数浏览器中,<input type="submit">将[空格键]和[输入]视为单击,但<a>链接仅将[输入]视为单击.

我的应用程序使用了许多格式化模拟按钮的链接,因此习惯于按Tab键切换按钮并按[空格键]的用户将感到沮丧.

这一点jQuery解决了这个问题:

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

我的问题:有没有理由不这样做?我有点不愿意在基本的东西上覆盖浏览器的默认行为,但由于我已经滥用链接标签使其看起来像一个按钮,至少这样我不会违反用户的期望任何进一步.

And*_*ndy 6

我认为最重要的维护标准不是浏览器的行为,而是用户的预期响应.

如果您通过将链接显示为按钮来覆盖链接的显示,则用户必须能够完全按照它们是真实按钮的方式处理这些"按钮",否则您将会混淆并激怒那些花费数年时间的用户.学会了"行为.