#

API Docs for: 3.10.3
Show: Inherited Protected Private Deprecated

# File: event/js/mousewheel.js

    /**
     * Adds mousewheel event support
     * @module event
     * @submodule event-mousewheel
     */
    var DOM_MOUSE_SCROLL = 'DOMMouseScroll',
        fixArgs = function(args) {
            var a = Y.Array(args, 0, true), target;
            if (Y.UA.gecko) {
                a[0] = DOM_MOUSE_SCROLL;
                target = Y.config.win;
            } else {
                target = Y.config.doc;
            }

            if (a.length < 3) {
                a[2] = target;
            } else {
                a.splice(2, 0, target);
            }

            return a;
        };

    /**
     * Mousewheel event.  This listener is automatically attached to the
     * correct target, so one should not be supplied.  Mouse wheel
     * direction and velocity is stored in the 'wheelDelta' field.
     * @event mousewheel
     * @param type {string} 'mousewheel'
     * @param fn {function} the callback to execute
     * @param context optional context object
     * @param args 0..n additional arguments to provide to the listener.
     * @return {EventHandle} the detach handle
     * @for YUI
     */
    Y.Env.evt.plugins.mousewheel = {
        on: function() {
            return Y.Event._attach(fixArgs(arguments));
        },

        detach: function() {
            return Y.Event.detach.apply(Y.Event, fixArgs(arguments));
        }
    };