//烈火网 liehuo.net 为网站设计、开发与运营提供动力! jquery.fn.extend({ mousewheel: function(up, down, preventdefault) { return this.hover( function() { jquery.event.mousewheel.givefocus(this, up, down, preventdefault); }, function() { jquery.event.mousewheel.removefocus(this); } ); }, mousewheeldown: function(fn, preventdefault) { return this.mousewheel(function(){}, fn, preventdefault); }, mousewheelup: function(fn, preventdefault) { return this.mousewheel(fn, function(){}, preventdefault); }, unmousewheel: function() { return this.each(function() { jquery(this).unmouseover().unmouseout(); jquery.event.mousewheel.removefocus(this); }); }, unmousewheeldown: jquery.fn.unmousewheel, unmousewheelup: jquery.fn.unmousewheel }); jquery.event.mousewheel = { givefocus: function(el, up, down, preventdefault) { if (el._handlemousewheel) jquery(el).unmousewheel(); if (preventdefault == window.undefined && down && down.constructor != function) { preventdefault = down; down = null; } el._handlemousewheel = function(event) { if (!event) event = window.event; if (preventdefault) if (event.preventdefault) event.preventdefault(); else event.returnvalue = false; var delta = 0; if (event.wheeldelta) { delta = event.wheeldelta/120; if (window.opera) delta = -delta; } else if (event.detail) { delta = -event.detail/3; } if (up && (delta > 0 || !down)) up.apply(el, [event, delta]); else if (down && delta < 0) down.apply(el, [event, delta]); }; if (window.addeventlistener) window.addeventlistener('dommousescroll', el._handlemousewheel, false); window.onmousewheel = document.onmousewheel = el._handlemousewheel; }, removefocus: function(el) { if (!el._handlemousewheel) return; if (window.removeeventlistener) window.removeeventlistener('dommousescroll', el._handlemousewheel, false); window.onmousewheel = document.onmousewheel = null; el._handlemousewheel = null; } };