jQuery页面转换,但保持"在新标签中打开"

时间:2015-11-06 13:58:11

标签: javascript jquery

那里, 我注意到几个页面有一个非常甜蜜的页面转换(一个例子:semplice

如果你单击导航页面淡出,重新加载并淡入。现在我尝试自己创建一些东西。我为fadeIn和fadeOut创建了效果。然后我创建了这样的东西:

$(function(){
    fadeInbody();
    $('ul#navi li a').click(function(e) {
        e.preventDefault();
        newLocation = this.href;
        fadeInbody(function(){
            window.location = newLocation;  
        });
    });
});

实际上,这对正常的左键单击效果非常好。

但现在我有一个鼠标按钮,可以在新标签页中自动打开链接。我非常使用这个按钮。在这种情况下,由于e.preventDefault();它会破坏此行为并打开相同选项卡的页面。

有没有更好的创建这样的东西而不破坏默认行为? (在semplice-example中,新标签鼠标按钮有效)

1 个答案:

答案 0 :(得分:0)

您可以查看用户在事件which属性中点击了哪个按钮。

所以,你的代码看起来像这样:

$(function(){
    fadeInbody();
    $('ul#navi li a').click(function(e) {
        if (e.which == 1) {
            e.preventDefault();
            newLocation = this.href;
            fadeInbody(function(){
                window.location = newLocation;  
            });
        }
    });
});

当用户点击左键时,你基本上都会运行你的淡入淡出逻辑。

请参阅以下有关跨浏览器兼容性信息的问题的评论。