0

フィラメント グループのフラット メニューを使用しています。最初のアンカーをクリックすると、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>
4

1 に答える 1

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>

#aShowLevels要素に添付されたライブイベントと fancybox 関数を削除し、次の関数を追加しました。

    function openFB(url) {
        $.fancybox({
            'href': url,
            'type': 'iframe',
            'width': '95%',
            'height': '90%'
        });
    }

クレジットは @JFK に送られます (url: http://groups.google.com/group/fancybox/browse_thread/thread/4449cbde5e004365/98735950117f861b )

于 2012-05-22T18:33:03.417 に答える