看起来在大多数浏览器中,an<input type="submit">
将 [spacebar] 和 [enter] 都视为单击,但<a>
链接仅将 [enter] 视为单击。
我的应用程序使用了许多格式化为模拟按钮的链接,因此习惯于使用 Tab 键切换到按钮并按下 [空格键] 的用户会感到沮丧。
这一点jQuery解决了这个问题:
$("a.Button").die("keypress").live("keypress", function(e) {
if (e.which == 32) {
$(this).trigger("click");
e.preventDefault();
}
});
我的问题:有理由不这样做吗?我有点不愿意在像这样基本的东西上覆盖浏览器的默认行为,但是由于我已经在滥用链接标签使其看起来像一个按钮,至少这样我不会违反用户的任何期望更远。