(function ($) {
    var timeout;
    $(document).on('mousemove', function (event) {
        if (timeout !== undefined) {
            window.clearTimeout(timeout);
        }
        timeout = window.setTimeout(function () {
            // trigger the new event on event.target, so that it can bubble appropriately

            var e = jQuery.Event( "mousemoveend" );

            e.pageY = event.pageY;
            e.pageX = event.pageX;

            $(event.target).trigger( e );
        }, 100);
    });
}(jQuery));