Javascript jQuery:请求新选项卡/窗口时不打开弹出窗口?

Javascript jQuery:请求新选项卡/窗口时不打开弹出窗口?,javascript,jquery,user-experience,Javascript,Jquery,User Experience,我正试图让用户体验尽可能好。我有两个链接:登录和加入。当用户单击它们时,站点变暗,弹出窗口(div,当然不是新窗口)以适当的形式出现 此外,这些链接具有有效的URL。这些表单可以通过专用URL实现 我的问题是,当用户希望在新选项卡或窗口中打开弹出窗口时,如何防止弹出窗口打开?目前,如果有人从上下文菜单中选择“在新选项卡中打开”或“在新窗口中打开”,效果会很好,但如果有人只需单击cmd、ctrl或shift,弹出窗口就会打开。这不是预期的,我希望允许用户使用这些快捷方式将它们放在单独的选项卡/窗口

我正试图让用户体验尽可能好。我有两个链接:登录和加入。当用户单击它们时,站点变暗,弹出窗口(div,当然不是新窗口)以适当的形式出现

此外,这些链接具有有效的URL。这些表单可以通过专用URL实现

我的问题是,当用户希望在新选项卡或窗口中打开弹出窗口时,如何防止弹出窗口打开?目前,如果有人从上下文菜单中选择“在新选项卡中打开”或“在新窗口中打开”,效果会很好,但如果有人只需单击cmd、ctrl或shift,弹出窗口就会打开。这不是预期的,我希望允许用户使用这些快捷方式将它们放在单独的选项卡/窗口中


有没有比监听cmd、ctrl或shift更奇特的方法来解决这个问题呢?

你可以在点击事件中检测到shift键和control键(不确定这是否是你所说的“监听….pessed”的意思,因为我们可以检入点击事件,而不是键盘事件。否则,我为你的时间感到抱歉)

$(document).click(function(e) { if (e.ctrlKey) { .... // Don't show the div dialog } else if (e.shilfKey) { .... // Don't show the div dialog } else if (e.metaKey) { .... // Don't show the div dialog } else { .... // Show the dialog. } }); $(文档)。单击(函数(e){ 如果(e.ctrlKey){ ..//不显示div对话框 }else if(e.shilfKey){ ..//不显示div对话框 }else if(如元键){ ..//不显示div对话框 }否则{ ..//显示该对话框。 } });

衷心希望这能有所帮助