Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I block the UI using JQuery UI?

I've been using this plugin to block the UI: http://jquery.malsup.com/block/

The plugin works excellently, it's just that I'd be enormously surprised if jQuery UI didn't do such a thing already, given that it must do effectively the same thing for it's Dialog feature.

How does one block the UI using JQuery UI?

like image 976
Billy ONeal Avatar asked Oct 25 '10 02:10

Billy ONeal


2 Answers

You could do something hacky - call the modal, then on the onopen callback, remove() the modal itself.

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

Hey! I said it was hacky :)

or

Examine the Modal code and see if it calls a function to block the UI. Perhaps you could add an external reference to it so you can call it yourself.

or

Add this HTML to you document, and call show() or hide() on it.

<div class="ui-widget-overlay" style="width: 100%; height: 100%; z-index: 32767;"></div>

or (if you are unsure how they are made)

They are simply a div (commonly) absolutely positioned and 100% height/width, with a high z-index and usually an opacity (check out how to do it in IE6 with filters).

You can also set it to position: fixed so it will always be there if you scroll. You can also hide the scrollbars if you want by doing $('body').css({ 'overflow-y': 'hidden' }).

like image 154
alex Avatar answered Sep 21 '22 19:09

alex


To "block" the UI, you just insert an absolutely positioned div with a high z-index and desired background color and opacity such that it covers the whole page.

like image 26
Chetan S Avatar answered Sep 18 '22 19:09

Chetan S