我正在使用灯丝组平面菜单。点击第一个锚点,我想在FancyBox中打开另一个页面,但它似乎不起作用。单击时,另一个页面将在同一窗口中打开,而不是在FancyBox中打开。如果,我在菜单div之外使用相同的锚点,FancyBox没有任何问题。请帮忙。
开发环境:ASP.NET 4.0,JQuery v1.7,JQuery UI v1.8.18,FancyBox v1.3.4
以下是JQuery代码供参考:
$('a#aShowLevels').live('mousedown', function() {
var l_sHref = "./tbl.aspx?iframe?id=" + $("#hftbTID").val();
$("a#aShowLevels").attr("href", l_sHref);
$(this).trigger('click');
});
$("a#aShowLevels").fancybox({
'showIframeLoading': true,
'enableEscapeButton': true,
'width': 680,
'height': 540
});
以下是HTML代码:
<a tabindex="0" href="#divMenuOptions" class="fg-button fg-button-icon-right ui-widget ui-state-default ui-corner-all" id="flatMenu"><span class="ui-icon ui-icon-triangle-1-s"></span>Options</a>
<div id="divMenuOptions" class="hidden">
<ul>
<li><a id="aShowLevels" href="#" class="iframe" runat="server">Show Bids</a></li>
<li><asp:LinkButton ID="lkbtnConvertToPO" runat="server" PostBackUrl="~/po.aspx">Convert to PO</asp:LinkButton></li>
</ul>
</div>
答案 0 :(得分:0)
我找到了如下解决方案:
更改了锚点属性...
<li><a id="aShowLevels" href="#" class="iframe" runat="server">Show Bids</a></li>
到
<li><a id="aShowLevels" href="#" runat="server" onclick="var goURL='./tbl.aspx?id=' + $('#hftbTID').val();openFB(goURL)">Show Bids</a></li>
删除了附加到 a#aShowLevels 元素的实时事件和fancybox功能,并添加了以下功能:
function openFB(url) {
$.fancybox({
'href': url,
'type': 'iframe',
'width': '95%',
'height': '90%'
});
}
归功于@JFK(网址:http://groups.google.com/group/fancybox/browse_thread/thread/4449cbde5e004365/98735950117f861b)