Version 3.18.1
Show:

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));
                }
            };