检测链接是否在新窗口/选项卡或当前窗口中打开

时间:2012-04-18 18:44:34

标签: javascript jquery

如果在当前窗口中打开链接,我想向我的链接添加类似AJax的转换。但是,如果在新窗口/新选项卡中打开链接,我不希望执行转换。这可能吗?

P.S。我加载了jQuery。

1 个答案:

答案 0 :(得分:1)

如果用户在新窗口/标签中打开链接(通过中键单击,按住Ctrl键或右键单击 - >新窗口),浏览器将自动忽略任何onclick处理程序并只需打开一个新的选项卡/窗口指向链接的href属性指定的URL。

只要您正确为锚标记指定真正的href属性,就不必采取任何特殊措施来阻止AJAX触发。

您可以自己轻松验证:您问题的编辑链接通过AJAX加载内容。如果您在中间/按住Ctrl键单击它,则会将URL http://stackoverflow.com/posts/10215887/edit加载到新窗口中。如果您正常点击它,JavaScript将拦截点击并在不刷新页面的情况下内联加载表单。