jquery - Fancybox 2.0.6 - AfterClose 在 fancybox 打开之前触发

标签 jquery asp.net fancybox

我正在使用 Fancybox 2.0.6 和 jQuery 1.7.2。

我有一个 asp.net 网页,有两个更新面板,一个在左侧,一个在右侧。左侧有一个具有调查问卷结构的 Telerik RadTreeList 控件,选择一个问题会更新右侧面板,其中包含该问题的具体信息。

还有一个按钮(称为 ActionButton,位于更新面板之外)可以触发服务器端事件来生成问题答案的 ID。 然后,该事件使用答案 id 更新隐藏链接,并通过将隐藏文字设置为可见来触发 fancybox。

<a href="action.aspx" id="hidden_link" class="actionbutton" style="visibility: hidden;" runat="server"></a>
<asp:Button ID="btnAction" runat="server" meta:resourcekey="btnOpenAction" CssClass="formbuttons" OnClick="btnAction_Click" />
<asp:Literal runat="server" Visible="false" ID="Literal1" Text="<script type='text/javascript' language='javascript'>jQuery(document).ready(function () { $('#MainContent_hidden_link').trigger('click'); });</script>" />

fancybox 是一个 iFrame,其中包含另一个网页,该网页将更多详细信息保存到数据库中。 到目前为止,一切都很好。一切都按预期进行。但是,我现在想做的是更新左侧更新面板以显示详细信息已添加。

这是 fancybox 代码:

        $("a.actionbutton").fancybox({
            'type': 'iframe',
            'openEffect': 'elastic',
            'closeEffect': 'elastic',
            'openSpeed': 600,
            'closeSpeed': 200,
            'padding': 10,
            'width': 800,
            'height': 600,
            afterClose: function () {
                $('#ctl00$MainContent$btnHiddenAction').trigger('click');
                alert('Ha!'); 
            }
        });

我快要疯了,因为我无法让 afterClose 回调在关闭后触发。我得到了我的“哈!”一旦我单击“操作按钮”,就会发出警报,然后单击“确定”后,会弹出花式框。我尝试过使用 beforeClose 但它根本不触发。

将我的代码粘贴到jsFiddle时它按其应有的方式工作吗?!?

我做错了什么?在那些穿着长臂衬衫的家伙到来之前帮助我......

问候, 斯特凡

最佳答案

我最终完全忽略了 afterClose 事件。

相反,我在 fancybox 的关闭脚本中添加了一个 javascript 调用,位于 fancybox 中显示的 action.aspx 页面的底部:

</body>
<script language="javascript" type="text/javascript">    function CloseMe() { parent.$.fancybox.close(); parent.document.getElementById('ctl00$MainContent$btnHiddenAction').click(); }</script>
</html>

它对我有用,也许对其他人有帮助......:)

关于jquery - Fancybox 2.0.6 - AfterClose 在 fancybox 打开之前触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11051632/

相关文章:

javascript - 原型(prototype) "classes"与 Jquery

javascript - 使用 jquery 获取子节点内的文本

javascript - 主干 Json View 模板

c# - 使用 MapHttpRoute 配置 WebAPI 路由时出错

javascript - 盒式 bundle 与 MVC4 bundle

javascript - 从远程文件覆盖 fancybox?

javascript - 使用 Fancybox 显示 div

javascript - JQuery Accordion - 最后一个单元格的反面

asp.net - ASP .NET 页面名称 "alias"

jquery - 由于位置不显示花式框箭头