147 votes

Obtenir molette de la souris événements en jquery?

est-il un moyen pour obtenir des événements de molette de souris (ne parlons scroll des événements) en jquery? Je ne pouvais pas trouver quelque chose dans les docs.

219voto

mahdi shahbazi Points 555
​$(document).ready(function(){
    $('#foo').bind('mousewheel', function(e){
        if(e.originalEvent.wheelDelta /120 > 0) {
            $(this).text('scrolling up !');
        }
        else{
            $(this).text('scrolling down !');
        }
    });
});

151voto

Jesse Dupuy Points 319

La liaison à la fois mousewheel et DOMMouseScroll a fini par travailler vraiment bien pour moi:

$(window).bind('mousewheel DOMMouseScroll', function(event){
    if (event.originalEvent.wheelDelta > 0 || event.originalEvent.detail < 0) {
        // scroll up
    }
    else {
        // scroll down
    }
});

Cette méthode fonctionne dans IE9+, Chrome 33, et Firefox 27.

48voto

Darin Dimitrov Points 528142

Il y a un plugin qui détecte haut/bas de la molette souris et de la vitesse au cours d'une région.

39voto

Brian Di Palma Points 518

Les réponses à parler de "la roulette de la souris" événement fait référence à une déconseillé de l'événement. La norme de l'événement est tout simplement "la roue". Voir https://developer.mozilla.org/en-US/docs/Web/Reference/Events/wheel

16voto

Anjith K P Points 1461

Cela a fonctionné pour moi:)

 //Firefox
 $('#elem').bind('DOMMouseScroll', function(e){
     if(e.originalEvent.detail > 0) {
         //scroll down
         console.log('Down');
     }else {
         //scroll up
         console.log('Up');
     }

     //prevent page fom scrolling
     return false;
 });

 //IE, Opera, Safari
 $('#elem').bind('mousewheel', function(e){
     if(e.originalEvent.wheelDelta < 0) {
         //scroll down
         console.log('Down');
     }else {
         //scroll up
         console.log('Up');
     }

     //prevent page fom scrolling
     return false;
 });

de stackoverflow

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X