【转】兼容IE和FireFox的鼠标滚轮事件

滚轮IE和Firefox的代码不一样:
IE是mousewheel事件,Firefox是DOMMouseScroll事件
事件属性,IE是event.wheelDelta,Firefox是event.detail
属性的方向值也不一样,IE向上滚 > 0,Firefox向下滚 > 0

  1. //滚轮放大或缩小,基于Prototype 1.6
  2. var scrollfunc = function(event) {
  3.         var direct = 0;
  4.         if (event.wheelDelta) {
  5.                 direct = event.wheelDelta > 0 ? 1 : -1;
  6.         } else if (event.detail) {
  7.                 direct = event.detail < 0 ? 1 : -1;
  8.         }
  9.         zoom(direct);
  10. };
  11. Event.observe(document, 'mousewheel', scrollfunc);
  12. Event.observe(document, 'DOMMouseScroll', scrollfunc); //firefox
posted @ 2008-04-21 14:22  所言非虚  阅读(1952)  评论(0编辑  收藏  举报