>Can this be made to work? No, not in an x-browser way. That's one reason that strictly synchronous processing is a bad idea. You need to introduce at least one async step to pull this off or some browsers will not render the DOM changes made by blockUI until thread execution completes.
$('#myButton').click(function() { $.blockUI(); setTimeout(processStuff, 50); }); function processStuff() { // do whatever $.unblockUI(); };