Несколько блоков в JQuery UI Blocker?
Я использую этот плагин.
Однако, кажется, использовать глобальные переменные
$.blockUI();
$.unblockUI();
Есть ли там у меня могут быть разные экземпляры этого блока.
$(document).ajaxStart(function (e)
{
$.blockUI(); //setup with a loading msg.
});
$(document).ajaxStop(function (e)
{
$.unblockUI();
})
var ajax = // ajax setup stuff
// 1.5 way of doing it
ajax .success(function (response)
{
var valid = checkIfValid(response); // check if valid
if(valid)
{
$.blockUI(); // setup with a save message
}
});
Это то, что у меня есть. я кладу
$.blockUI();
для простоты, без параметров, но в моем реальном коде у меня есть сообщения и другие параметры.
Так что теперь проблема в том, что когда успех завершен, вызывается AJAX-стоп и все разблокируется. Я хочу, чтобы очищался только тот, который был запущен в начале ajax, а не тот, что в действительном.
Поэтому мне нужны разные экземпляры.
1 ответ
Вы можете сделать то, что вы пытаетесь сделать, позвонив block
на div
что вы создаете на лету, а затем просто удаляя это div
из DOM. Например:
$(document).ajaxStart(function (e) {
/* Create a <div> that will contain the blocking elements: */
$("<div id='ajax-block' style='position:fixed;width:100%;height:100%' />")
.appendTo("body").block()
});
$(document).ajaxStop(function (e) {
/* Remove the page block specific to the ajax request: */
$("#ajax-block").remove();
});
И сделайте что-то подобное для другого события, которое вы блокируете (просто измените id
атрибут внутри динамически добавляемого div
и призыв к remove()
,