ajax激活成功后弹出

时间:2014-12-12 04:15:49

标签: javascript jquery ajax

按钮激活了一个弹出对话框,其中包含以下代码:

<div class="button-wrap"><button data-dialog="somedialog" class="trigger">Open Dialog</button></div>

点击按钮时弹出以激活的代码在此处:

<script src="js/classie.js"></script>
<script src="js/dialogFx.js"></script>
<script>
    (function() {

        var dlgtrigger = document.querySelector( '[data-dialog]' ),
            somedialog = document.getElementById( dlgtrigger.getAttribute( 'data-dialog' ) ),
            dlg = new DialogFx( somedialog );

        dlgtrigger.addEventListener( 'click', dlg.toggle.bind(dlg) );

    })();
</script>

因此触发按钮具有数据属性data-dialog =“somedialog”。

对话框本身的html代码在这里:

<div id="somedialog" class="dialog">
                    <div class="dialog__overlay"></div>
                    <div class="dialog__content">
                        <div class="morph-shape">
                            <svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 560 280" preserveAspectRatio="none">
                                <rect x="3" y="3" fill="none" width="556" height="276"/>
                            </svg>
                        </div>
                        <div class="dialog-inner">
                            <h2><strong>Howdy</strong>, I'm a dialog box</h2>
                            <div><button class="action" data-dialog-close>Close</button></div>
                        </div>
                    </div>
                </div>

注意:对话框和激活它的按钮共享属性“somedialog”

但是,我想将弹出窗口与ajax集成,以便在ajax返回成功/完成时自动调用弹出窗口(无绑定)。我的ajax代码正在运行,弹出窗口的HTML / CSS代码也已编码。

问题是如何在ajax成功时将按钮激活变为自动激活?

谢谢!

2 个答案:

答案 0 :(得分:0)

基本上dlg.toggle.bind(dlg)具有点击功能。

就像这样触发

dlg.toggle.bind(dlg)()

工作fiddle

答案 1 :(得分:0)

答案实际上是在你的ajax代码中添加这两行来追加新的模态:

window.dlg = new DialogFx(window.somedialog); dlg.toggle.bind(DLG)();