在<a>鼠标按下而不是鼠标单击时跟随链接



我使用以下代码使浏览器在鼠标向下时而不是在鼠标向上时跟随链接(就像普通的点击一样)。

$('#links a').each(function(){
  $(this).mousedown(function(){
    window.location.href=$(this).attr('href');
  });
});

首先,这种做法好吗?GMail做到了这一点,它给人的效果是页面加载速度比实际情况更快

还有,有更好的方法吗?我还没有在所有浏览器中测试过,所以我不确定它是否在旧浏览器中有效。

mousedown函数不受Internet Explorer 5.5版或更早版本的支持。jQuery将事件捕获的浏览器特定行为规范化为mousedown函数。

至于是否有好的实践,我认为以这种方式处理鼠标单击事件不会带来明显的性能优势。所以,除非你有具体的理由,否则我会坚持标准惯例。

鼠标按下时唯一应该发生的事情是向用户显示鼠标按钮确实按下的任何必要效果。

在鼠标抬起之前,你不会执行任何操作的原因至少可以追溯到原始Macintosh的苹果人机界面指南:这让用户可以选择在放手之前将鼠标从按钮上移开来"取消"点击。

用鼠标做事情会让用户感觉到你的程序正在把地毯,呃,对话框从下面拉出来。

最新更新