de l'événement.preventDefault(); ne pas s'arrêter la roulette de la souris dans Firefox
Je suis l'aide de la molette de la souris dans jquery pour augmenter le nombre de div, le nombre augmente correctement, mais le défilement n'est pas arrêté dans Firefox.
$(document).ready(function(){
$('#test').bind('mousewheel DOMMouseScroll', function(event){
var currentValue = parseInt($('#test').text(),10),
newValue = currentValue + 1;
$('#test').text(newValue);
event.preventDefault();
});
});
Violon: http://jsfiddle.net/rHVUn/
Le violon utilise la norme de la molette de la détection, mais j'ai également utilisé Brandon Aaron molette de la souris plugin et il a le même problème.
Retrait de la ligne qui met à jour le texte (j'ai aussi essayé de html()) de la div résout le problème, mais c'est une partie cruciale de ce code et ne peut pas être supprimé.
Personne ne sait comment résoudre ce problème?
Merci
Mise à jour: j'ai trouvé le problème se produit uniquement lorsque ma souris est positionné directement sur le texte, si ma souris est à l'intérieur de la boîte, mais pas sur le texte (dans la marge) le défilement est arrêté
OriginalL'auteur Michael | 2012-09-07
Vous devez vous connecter pour publier un commentaire.
C'est encore l'un des plus hauts postes lorsque je recherche la question de Firefox défilement en dépit de la prévention de l'événement scroll.
Firefox déclenche deux événements sur la molette de la souris:
DOMMouseScroll
etMozMousePixelScroll
. Voir https://github.com/jquery/jquery-mousewheel/issues/45#issuecomment-11749359 Il est nécessaire d'empêcher l'MozMousePixelScroll
événement.Selon https://developer.mozilla.org/en-US/docs/Web/Events/MozMousePixelScroll la plus moderne nom de l'événement est
wheel
, qui semble travailler avec ma version de Firefox (55) et de Chrome (61). C'est probablement ce que vous devriez être en utilisant. Voir https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/WheelEventVoici un JSFiddle:
https://jsfiddle.net/ahpy9f66/
OriginalL'auteur Gus
essayer cette
qui firefox version utilisez-vous qu'il fonctionne correctement sur mon système ..!
J'utilise firefox version 15.0
moi aussi..j'espère que vous savez pour que ce code fonctionne, vous devez garder votre souris à l'intérieur de #test div puis faites défiler la page..!
Je fais garder ma souris à l'intérieur, au moins je sais que ça fonctionne pour vous, je vais devoir garder des tests, je vous remercie pour votre aide
OriginalL'auteur Sibu
J'ai trouvé une solution à mon problème, il peut ne pas être la meilleure façon de le faire, mais il fonctionne.
J'ai trouvé le problème se produit uniquement lorsque ma souris est positionné directement sur le texte pendant le défilement, j'ai donc ajouté une superposition de l'élément et de l'utiliser comme déclencheur molette de la souris.
Violon: http://jsfiddle.net/rHVUn/9/
(La couleur de fond n'est pas nécessaire)
OriginalL'auteur Michael
Avez-vous essayé de lier la "molette" de l'événement au lieu de ce que vous avez? :
J'ai adapté votre violon et il semble fonctionner
Firefox ne prend pas en charge
mousewheel
—au lieu d'utiliserDOMMouseScroll
.OriginalL'auteur PoeHaH
Utiliser ce lieu, ce qui fonctionne pour moi
OriginalL'auteur Dhayalan