如何使用JQuery UI阻止UI?

Bil*_*eal 5 javascript jquery jquery-ui

我一直在使用这个插件来阻止用户界面:http://jquery.malsup.com/block/

这个插件运行得非常好,只是因为jQuery UI没有做过这样的事情我会非常惊讶,因为它必须为它的Dialog功能做同样的事情.

如何使用JQuery UI阻止UI?

ale*_*lex 5

你可以做一些hacky - 调用模态,然后onopen调用回调,remove()模态本身.

$("#something").dialog({
   open: function(event, ui) { $('.ui-dialog').remove(); }
});
Run Code Online (Sandbox Code Playgroud)

嘿! 我说这是hacky :)

要么

检查Modal代码并查看它是否调用阻止UI的函数.也许你可以添加一个外部引用,这样你就可以自己调用它.

要么

将此HTML添加到您的文档,并调用show()hide()在其上.

<div class="ui-widget-overlay" style="width: 100%; height: 100%; z-index: 32767;"></div>
Run Code Online (Sandbox Code Playgroud)

或(如果你不确定它们是如何制作的)

它们只是div(通常)绝对定位和100%height/ width,高z-index和通常是opacity(检查如何在IE6中使用过滤器).

您也可以将其设置为position: fixed如果您滚动它将始终存在.如果您愿意,也可以隐藏滚动条$('body').css({ 'overflow-y': 'hidden' }).