0

我正在使用 block ui 来阻止按钮单击时的 div。但是在阻塞之后,我希望 div 应该在延迟一段时间后解除阻塞。但在我的情况下,div 是永久阻塞的。这是我的代码:

<script src="jQuery 1.10.1.min.js" type="text/javascript"></script>
    <script src="blockui.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $('#Button1').click(function () {
                $('div#blockit').block({

                    message: '<h6>Processing</h6>',
                    css: { border: '3px solid #a00' }


                });
                setTimeout($.unblockUI, 2000); 
            });

        });

    </script>



    <div>
        <input id="Button1" type="button" value="button" />
    </div>

    <div id="blockit" style="width: 200px; height=200px;">

    </div>

我无法弄清楚为什么 settimeout 不起作用。请给我解决方案。提前谢谢。

4

4 回答 4

0

试试看

setTimeout(function(){ $.unblockUI },2000)
于 2013-07-03T09:09:47.577 回答
0

尝试

$('#Button1').click(function () {
            $('div#blockit').block({

                message: '<h6>Processing</h6>',
                css: { border: '3px solid #a00' },
                timeout:2000

            });
            //setTimeout($.unblockUI, 2000); 
        });
于 2013-07-03T09:14:34.700 回答
0

我的猜测是你得到了一个 JavaScript 错误,因为 unblockui 可能会使用this并调用它,就像你在 window.xml 中进行更改的方式一样this

如果您在浏览器中按 F12,您会在控制台中看到脚本错误吗?

            setTimeout(function(){
              $.unblockUI
            }, 2000); 
于 2013-07-03T09:15:03.667 回答
0

你必须使用

$('div#blockit').unblock()

这就是区别

$('id').block() -> $('id').unblock()

$.blockUI() -> $.unblockUI()
于 2015-02-26T16:00:42.403 回答