jQuery:请求新标签/窗口时不要打开弹出窗口?

时间:2015-09-01 07:16:53

标签: javascript jquery user-experience

我正努力让用户体验尽可能好。我有两个链接:登录和加入。当用户点击它们时,网站会变暗并弹出(当然,div,而不是新窗口),并显示相应的表格。

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

我的问题是,当用户希望弹出窗口在新标签页或窗口中打开时,如何阻止弹出窗口打开?目前,如果有人从上下文菜单中选择Open in new tabOpen in new window,但是如果有人只是点击 cmd ctrl shift ,弹出窗口打开。这是不期望的,我想允许用户使用这些快捷方式将它们放在单独的选项卡/窗口中。

有没有更好的方法来解决这个问题,而不是听 cmd ctrl shift

1 个答案:

答案 0 :(得分:0)

你可以在点击事件中检测到shift键和控制键(不确定是否是你的意思是"正在聆听.... 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.
    }
});

09-01 00:06:24.414: W/System.err(9961): java.io.NotSerializableException: com.myprogram.main.Entity$1 09-01 00:06:24.414: W/System.err(9961): at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1344) 09-01 00:06:24.414: W/System.err(9961): at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1651) 09-01 00:06:24.414: W/System.err(9961): at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1497) 09-01 00:06:24.414: W/System.err(9961): at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1461) 09-01 00:06:24.415: W/System.err(9961): at java.io.ObjectOutputStream.writeFieldValues(ObjectOutputStream.java:959) 09-01 00:06:24.415: W/System.err(9961): at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:360) 09-01 00:06:24.415: W/System.err(9961): at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1054) 09-01 00:06:24.415: W/System.err(9961): at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1384) 09-01 00:06:24.415: W/System.err(9961): at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1651) 09-01 00:06:24.415: W/System.err(9961): at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1497) 09-01 00:06:24.415: W/System.err(9961): at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1461)

真诚地希望这会有所帮助。