在这种情况下是否可以捕获弹出窗口的关闭事件

时间:2015-02-25 11:03:52

标签: jquery

点击一个按钮,我显示一个弹出窗口。

如果在任何地方点击,弹出窗口将关闭,我的问题是否可以捕获弹出窗口的关闭事件

请看这个小提琴,然后点击位置到窗口按钮

http://jsfiddle.net/tdzfhzjy/65/

我的代码

 <div role="main" class="ui-content oms-content">
            <div class="myactivelabelsWrap">
       <a href="#transitionExample" class="ui-btn ui-corner-all ui-shadow ui-btn-inline" data-rel="popup" data-position-to="window">Position to window</a>
            <div data-role="popup" id="transitionExample" class="ui-content" data-theme="a">
                <div class="popup_inner popup_sm">
                    <div class="popup_content popup_myactivelabels_content">
                        <p>Sorry! Now we are not able to delivery these timings</p>
                        <h3>Our Available timings</h3>
                        <p>11am to 2pm</p>
                    </div>

                </div>
            </div>

$(document).on('click', '.close', function(event) {
$('#transitionExample').popup('open')    
});

如果可能,请告诉我,提前谢谢。

1 个答案:

答案 0 :(得分:1)

如果你注意到,当弹出窗口出现时,会有一个覆盖层覆盖除模态之外的其他元素。它的ID类似于transitionExample-screen。因此,当您单击此元素时,将关闭该对话框。您需要的是绑定此元素上的click事件。那将是接近的。

JS:

$(document).on('click', '.close', function (event) {
    $('#transitionExample').popup('open');
});

$(document).on('click', '#transitionExample-screen', function () {
    alert("closing");
});

演示:http://jsfiddle.net/tdzfhzjy/66/

如果您有多个弹出窗口,则可以使用class而不是id。对于课堂,只需检查叠加层