我想做的事情是:在Facebook上,点击链接以在当前选项卡中打开它会触发一些JavaScript,而不是打开链接。 但是,在新标签页中打开它(通过右键单击或按住Ctrl/Cmd)将打开链接而不调用任何JavaScript。
我想对我的链接执行相同的操作(使链接行为取决于目标)。 我有
编辑:我不想强制链接在新窗口中打开。 如果链接在新窗口中打开,则希望它像往常一样遵循
Facebook在这样做以在弹出式“剧院”中打开图像,如果您在当前窗口中打开它,并在新窗口中打开它以全屏显示。
请注意,捕获链接上的
编辑2:似乎使用
我想对我的链接执行相同的操作(使链接行为取决于目标)。 我有
onclick
事件处理程序return false;
以避免打开链接; 但这会导致Ctrl+单击无法打开链接。 我该如何实现这一点?编辑:我不想强制链接在新窗口中打开。 如果链接在新窗口中打开,则希望它像往常一样遵循
href
。 但是,如果链接在当前窗口中打开,而不是在当前窗口中打开链接,我想运行一些JavaScript。Facebook在这样做以在弹出式“剧院”中打开图像,如果您在当前窗口中打开它,并在新窗口中打开它以全屏显示。
请注意,捕获链接上的
click
事件并使用preventDefault()
或return false
会导致Cmd+单击(在新选项卡中打开)失败。 无论如何,这应该适用于链接的打开方式 - 单击、Enter键等。编辑2:似乎使用
hashchange
/ HTML5 pushState是正确的方法