jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 检测用户是否要在新窗口或选项卡中打开链接(Mac和Windows)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个链接,为了优化页面响应/流量,我使用 javascript单击处理程序处理其click事件.点击后,我只加载页面的某些部分.但链接的URL是正确的,并在独立选项卡中打开它将正确打开页面.

但是当用户按下链接上的CMD-Click(在新选项卡中打开链接)时,单击处理程序将运行,并且不会在新选项卡中打开页面.基本上我禁用了CMD-Click(在新选项卡中打开)功能.如何在代码中检测到这一点,以使CMD-Click按预期工作. (在Windows中,CMD由Ctrl替换.)?

$(".link").on("click",function(event) {

    if (/* TODO: how to detect if the user CMD/Ctrl-clicked the link? */) {
        return true;
    }

    // ... load only necessary things for normal clicks
})

我是否必须编写OS /浏览器特定代码解决上面的TODO? (我用jQuery)

解决方法

检查事件的ctrlKey,shiftKey和MetaKey属性.它们告诉您用户是分别持有控制,移位还是命令.同时检查哪个不是2,这意味着用户中间点击了该链接.

$(".link").on("click",function(event) {

    if (event.ctrlKey || event.shiftKey || event.MetaKey || event.which == 2) {
        return true;
    }

    // ... load only necessary things for normal clicks
});

大佬总结

以上是大佬教程为你收集整理的jquery – 检测用户是否要在新窗口或选项卡中打开链接(Mac和Windows)全部内容,希望文章能够帮你解决jquery – 检测用户是否要在新窗口或选项卡中打开链接(Mac和Windows)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: