为简单起见,我想要一个通用函数来阻止 UI(即单击事件,但可能不是悬停等),并在完成时可选地运行回调。到目前为止,我有这个:
blockedUI=false;
function blockUI(milliseconds,callback)
{
blockedUI=true;
if (callback===undefined)
setTimeout(function(){blockedUI=false;},milliseconds);
else
setTimeout(function(callback){blockedUI=false;callback();},milliseconds);
}
function itemClicked(item)
{
if(blockedUI)return;
//handle click
}
blockUI(1000,function{alert("UI is now available");});
基本上,每当我处理某些事情时,我都会检查 UI 是否当前被“阻止”。我这里的具体问题实际上是我不知道如何将回调函数传递给我传递给 setTimeout 的匿名函数。
真正的问题是,如何传递回调参数并在 setTimeout 匿名函数参数的主体中调用它