2013-12-05 6 views
1

Я пытаюсь переместить страницу горизонтально, используя колесо прокрутки. И мне удалось добиться успеха в Chrome, но когда я пытаюсь запустить его в IE, это не сработает.MouseWheel Событие не работает в IE?

Затем я прочитал на веб-сайте msdn, что event.wheelDelta используется для получения расстояния, которое колесо мыши повернуло вокруг оси y. Но тогда, когда я вижу окно консоли для журнала, оно будет отображаться неопределенным. console.log (event.wheelDelta);

Вот мой Java Script

 $(document).ready(function() { 

     function extractDelta(e) { 
      console.log(e.wheelDelta); 

      if (e.wheelDelta) { 
       return e.wheelDelta; 
      } 

      if (e.originalEvent.detail) { 
       return e.originalEvent.detail * -40; 
      } 

      if (e.originalEvent && e.originalEvent.wheelDelta) { 
       return e.originalEvent.wheelDelta; 
      } 
     } 

     $(window).on("DOMMouseScroll wheel", function (event) { 
      var delta = extractDelta(event); 
      var $this = $(this); 
      //debugger; 
      //var delta = event.detail < 0 || event.originalEvent.wheelDelta > 0 ? 1 : -1; 
      console.log(delta); 
      if (delta > 0) { 
       $this.scrollLeft(($this.scrollLeft() - 400)); 
      } else { 
       $this.scrollLeft(($this.scrollLeft() + 400)); 
      } 

      //this.scrollLeft -= (this.scrollLeft + 500); 

      event.stopPropagation(); 
      event.preventDefault(); 

     }); 

пожалуйста, может кто-нибудь объяснить мне, почему это не работает на IE. Я использую IE 11 и jQuery 2.0.3 и jQuery MouseWheel 3.0.4.

ответ

1

JQuery не проходит вдоль объекта события IE. Если вы хотите, MS специфические свойства, которые вы должны использовать addeventlistener вместо on

0

Попробуйте использовать bind функции JQuery в:

$(window).bind("DOMMouseScroll wheel", function (event) { 
    // Code goes here 
}); 
Смежные вопросы