代码:

var onFooEndFunc = function() {
    var delay = 50; /* milliseconds - vary as desired */
    var executionTimer;

    return function() {
        if (executionTimer) {
            clearTimeout(executionTimer);
        }

        executionTimer = setTimeout(function() {
            // YOUR CODE HERE
        }, delay);
    };
}();

实例:模拟onMouseMoveEnd, 获取鼠标坐标:on_mouse_move_end_test.html

优点:减少事件触发次数,提高性能。

参考:Delaying Javascript Event Execution