这是场景,我有一个带有打开fancybox iframe 窗口的按钮的页面。iframe 内容中包含一个链接,该链接将使用target="_blank"
. 我想点击触发一个javascript函数来关闭fancybox窗口以及打开新窗口。
使用jquery,我绑定了一个简单的点击函数来调用parent.$.fancybox.close();
,但这不会将点击返回给浏览器以在新窗口中触发链接。
我不想使用window.open
它,因为它 99% 的时间都被阻止了,我只需要发生默认行为。
如何在让正常行为发生的同时调用关闭函数 onclick?
编辑
添加代码:
打开fancybox iframe 的页面。
<a href="http://something.com" id="OpenIframeLink">open fancybox</a>
<script>
$("#OpenIframeLink").fancybox({
'padding': '20',
'width': 450,
'height': 550,
'scrolling': 'no',
'type': 'iframe',
'href': '/content.asp?url=' + encodeURIComponent($("#OpenIframeLink").attr('href')),
'showCloseButton': false
});
</script>
现在此代码位于 iframe fancybox 窗口中的 content.asp 页面上
<div id="message">
<a href="http://something.com" target="_blank">click me</a>
</div>
<script type="text/javascript">
$('#message a').click(function() {
parent.$.fancybox.close();
//now it should open the new window as a standard default click
//as if this function wasn't bound to the click
});
</script>