【发布时间】:2011-12-24 16:38:24
【问题描述】:
在我的弹出页面中,我有一个属性链接: id="myLink" href="http://..." target="_blank"
当用户点击链接时,它应该将链接作为默认事件打开,然后关闭弹出窗口。
我在弹出页面中有以下 jquery 代码来关闭弹出窗口。
$('#myLink').click(function() {
ClosePopupOverlay();
});
现在它在 IE 中可以正常工作,但在 Firefox 和 Chrome 中,它只是关闭弹出窗口,根本不打开链接。
我们不能在所有浏览器中阻止默认事件并在 jquery 中添加自定义代码吗?有关如何解决此问题的任何想法?
非常感谢您的帮助!
【问题讨论】:
-
建议尝试 e.preventDefault() 方法,这将有助于解决如下问题: $('#myLink').click(function(e) { e.preventDefault(); ClosePopupOverlay() ; window.open($("#mylink").attr("href")); });
-
感谢您的帮助!我试过你的建议,它仍然可以在 IE 中运行,但不能在 Firefox 和 Chrome 中运行。在 Firefox 和 Chrome 中,当它完成 ClosePopupOverlay 时,以下代码无法运行,因为代码驻留在页面上并且页面已关闭。我在 window.open 之后尝试 ClosePopupOverlay,但在 2 个浏览器中也不起作用。焦点在新打开的窗口而不是弹出窗口上,下面的代码也不能运行:(
-
这行得通! $('#myLink').click(function() { window.open($(this).attr("href")); event.preventDefault(); CloseQuoteOverlay(); });
-
有道理...酷...干杯!!
标签: jquery hyperlink cross-browser