如何停止执行代码时,窗口弹出

How to stop execute code when window is popup?

本文关键字:窗口 何停止 执行 代码      更新时间:2023-09-26

我有这个函数:

    this.foo = function (old, newVal) {
        $('#myModal').modal('show');
        var f = "ddd";
        var oldval = old;
        var newVal = newVal;
    }

可以看到在函数内部调用的窗口弹出。

这里是窗口的定义:

 <!-- Modal -->
<div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog">  
      <!-- Modal content-->
        <button type="button" class="btn btn-default" data-dismiss="modal">Yes</button>
        <button type="button" class="btn btn-default" data-dismiss="modal">No</button>    
    </div>
</div>

我需要弹出窗口,只有在用户单击弹出窗口上的"是"或"否"后,这行在foo()函数(I)中执行。(我需要在弹出窗口上设置延迟):

    var f = "ddd";
    var oldval = old;
    var newVal = newVal;

知道如何实现它吗?

应该有不同的方法,下面是一个例子给你一个想法。基本上你可以使用模态的shownhidden事件来实现这一点。

假设有一个按钮在你的模式与id btn_ok,然后在你的shown事件回调,绑定到该按钮的onclick事件和赋值给一个变量,将在hidden事件回调评估(当模态消失)。

this.foo = function (old, newVal) {
        var m = $('#myModal');
        var btn_ok_selected = false;
        m.on('shown.bs.modal', function() {
            var btn_ok = m.find('#btn_ok');
            btn_ok.click(function() {
                btn_ok_selected = true;
            });
        });
        m.on('hidden.bs.modal', function() {
            if (btn_ok_selected === true) {
                var f = "ddd";
                var oldval = old;
                var newVal = newVal;
                // more code here
            }
        });
        m.modal('show');
    }