点击功能在执行时如何临时禁用?

$("#prevPage").live("click",function(e) {
.................
});

例如,当用户已经点击prevPage时,其中的语句正在运行,如果用户立即点击它,它将再次触发。但是,我希望单击事件触发器只有在其内部的所有语句完成执行后才能触发,如何实现这一点?


解决方案

这个或类似的怎么样:

<script type="text/javascript">
    // disable command while function is being executed.
    var sample = { 
        isExecuting : 0, 
        doWork : function (e) { 
            if (sample.isExecuting === 1) return;
            sample.isExecuting = 1;
            // do work -- whatever you please
            sample.isExecuting = 0; // say: I'm done!
        }
    };
    // live or bind
    $("#prevPage").bind("click",function(e) {
         sample.doWork(e);
    });
</script>

简单‘屏蔽’挡路多路呼叫场景。

相关文章