我使用以下代码使浏览器按下鼠标按下的链接而不是鼠标按下(如正常点击)。
$('#links a').each(function(){
$(this).mousedown(function(){
window.location.href=$(this).attr('href');
});
});
首先,这是一个好习惯吗? GMail就是这样做的,它会让页面的加载速度比实际更快。
此外,还有更好的方法吗?我还没有在所有浏览器中测试过这个,所以我不确定它是否适用于旧浏览器。
答案 0 :(得分:1)
Internet Explorer版本5.5 或更早版本不支持mousedown
功能。 jQuery将事件捕获的浏览器特定行为规范化为mousedown
函数。
至于良好实践,我认为以这种方式处理鼠标点击事件并没有明显的性能优势。所以,除非你有特定的理由这样做,否则我会坚持使用标准惯例。
答案 1 :(得分:0)
鼠标按下时唯一应该发生的事情是向用户显示鼠标按钮确实关闭的任何必要效果。
在鼠标开始之前你没有执行任何操作的原因至少要回到原始Macintosh的Apple人机界面指南:这样,用户可以选择在取消之前将鼠标移开按钮来“取消”他们的点击去。
在鼠标按下时执行操作会让用户感觉到你的程序正在从它们下面拉出地毯,呃,对话框。