Я пытаюсь написать универсальную функцию, которая будет блокировать пользовательский интерфейс во время вызова AJAX. Я пытаюсь сделать так, чтобы функция A запускала любую другую функцию, переданную в качестве аргумента. Это то, что у меня так далеко:
function blockWhileLoading(fn, msg)
{
if (msg == null)
{
msg = 'Please wait while the next page is loaded...';
}
$.blockUI(
{
message: '<h1>' + msg + '</h1>',
css:
{
border: 'none',
padding: '15px',
backgroundColor: '#E3D9BA',
'-webkit-border-radius': '10px',
'-moz-border-radius': '10px',
color: '#4D2612'
}
});
$('body').scrollLeft(0);
setTimeout(function()
{
eval(fn);
$.unblockUI();
}, 1000);
}
Теперь, когда приходит время оценить функцию, кажется, ничего не происходит. Разве eval не является правильным способом заставить функцию работать?