La molette de la détection des événements qui ne travaillent pas actuellement dans Firefox
Pour une raison que je vais avoir du mal à essayer de reconnaître la roulette de la souris de l'événement dans Firefox. Cela fonctionne dans IE, Chrome, Safari, Opera, mais pas FF. Je suis attacher un écouteur d'événement sur DOMMouseScroll, qui doit être reconnue en FF.
$(document).unbind('mousewheel DOMMouseScroll').on('mousewheel DOMMouseScroll', function(e) {
var evt = event || e || window.event;
var delta = evt.detail < 0 || evt.wheelDelta > 0 ? 1 : -1;
if (delta < 0) {
//scroll down
} else {
//scroll up
}
});
OriginalL'auteur bob_cobb | 2012-06-07
Vous devez vous connecter pour publier un commentaire.
Votre code génère une erreur dans la console. La ligne:
est incorrect; il n'y a pas de "cas" de la variable dans la portée. Vous pouvez utiliser "e" directement. Le jQuery, le code sera assurez-vous que votre gestionnaire obtient le paramètre d'événement en tant que paramètre. Ou:
Auriez-vous par hasard de savoir pourquoi le faites défiler vers le haut ne fonctionne pas avec cette solution?
Pas sur le haut de ma tête; je vais vérifier le violon.
C'est parce que le "détail" de la propriété n'est pas disponible sur le jQuery objet d'événement wrapper - vous avez à regarder
evt.originalEvent.detail
voir: jsfiddle.net/yDdXsjQuery 1.9.1 :
var delta = event.originalEvent.detail < 0 || event.originalEvent.wheelDelta > 0 ? 1 : -1;
OriginalL'auteur Pointy
Ce code de sauver ma vie.. Fonctionne dans Chrome, Firefox, Edge, Internet Explorer, Opera...
OriginalL'auteur Filipe Pinho