J'utilise la roue de la souris dans JQuery pour augmenter le nombre d'un DIV, le nombre augmente correctement, mais le défilement n'est pas arrêté dans Firefox. FIDDLE: http://jsfiddle.net/rhvun/ p> Le violon utilise la détection standard de la mouse roue, mais j'ai également utilisé Brandon Aaron's Mouseweheel Plugin et il a le même problème. P> Suppression de la ligne qui met à jour le texte (j'ai également essayé HTML ()) de la Div résout le problème, mais c'est une partie cruciale du code. et ne peut pas être supprimé. P> Est-ce que quelqu'un sait-il résoudre ce problème? p> merci p> P> > J'ai trouvé le Le problème ne se produit que lorsque ma souris est positionnée directement sur le texte, si ma souris se trouve dans la boîte mais pas sur le texte (dans le rembourrage), le défilement est arrêté p> p>
7 Réponses :
Avez-vous essayé de lier l'événement «Mousewheel» au lieu de ce que vous avez? :
$('#test').bind('mousewheel', function(event){ ...
S'il vous plaît pouvez-vous poster un lien vers le violon? Je l'ai essayé et ça n'a pas fonctionné.
Firefox ne prend pas en charge Mousewheel Code> -Instead Utilisation
DommousesCroll code>.
Essayez ceci
Merci, mais si j'essaie d'utiliser Brandon Aaron's Mouseweheel Plugin, il brise à nouveau jsfiddle.net/rhvun/6, Idéalement, j'aimerais que cela fonctionne avec et sans le plugin.
@Michael quelle version Firefox utilisez-vous qu'il fonctionne correctement sur mon système ..!
J'utilise Firefox version 15.0
@Michael Me Too..Je espère que vous savez que ce code fonctionne pour travailler, vous devez garder votre souris à l'intérieur #Test div puis défiler ..!
Je garde ma souris à l'intérieur, au moins je sais que cela fonctionne pour vous, je vais devoir continuer à tester, merci de votre aide
J'ai trouvé une solution à mon problème, ce n'est peut-être pas le meilleur moyen de le faire, mais cela fonctionne. P>
J'ai trouvé que le problème ne se produit que lorsque ma souris est positionnée directement sur le texte pendant le défilement, j'ai donc ajouté un élément de recouvrement et l'utiliser comme la gâchette de la roue de la souris. P>
FIDDLE: http://jsfiddle.net/rhvun/9/
(la couleur d'arrière-plan n'est pas nécessaire) em> p>
Un hack malheureux; Je souffre toujours du problème d'origine :(
$('#objectId').on({ 'mousewheel': function(e) { e.preventDefault(); e.stopPropagation(); } }) Use this instead, which works for me
Ceci juste ne fonctionne pas. L'événement tire toujours plusieurs fois. Jusqu'à présent que j'ai trouvé, il n'est pas possible d'empêcher le comportement par défaut d'un événement de la mousse. Essayant toujours de comprendre pourquoi trouver un moyen de contourner ce problème.
Cela fonctionne bien sur Chrome, Firefox LATTTTest versions et IE, Essayez ceci :
P>
<div style="height:900px; border:0;"> <div id="test">0</div> <span id="test_ov"></span> </div>
Ceci est toujours l'un des principaux messages lorsque je recherche le numéro de Firefox défilement malgré la prévention de l'événement de défilement. P>
Firefox déclenche deux événements sur la souris Scroll: Selon https://developer.mozilla.org/fr/fr -US / Docs / Web / Events / MozMousePixelsCroll Le nom de l'événement le plus moderne est code> code>, qui semble fonctionner avec ma version de Firefox (55) et chrome (61). C'est probablement ce que vous devriez utiliser. Voir https://developer.mozilla.org/en-us / Docs / Web / API / WheelEvent / Wheelevent P>
Voici un jsfiddle: p>
DommousesCroll code> et
MozMousePixelsCroll code>. Voir https://github.com/jquery/jquery-mousewheel/issues / 45 # Issuecomment-11749359 Il est nécessaire d'empêcher l'événement
MozMousePixelsCroll CODE>. P>
Aucune des réponses ne travaillait pour moi, mais Reportez-vous à: https://stackoverflow.com/a/63609840/10830621 p> événement.stopimmédiaié () code> travaillé. P>
J'ai oublié de mentionner si vous faites défiler plusieurs fois, alors le défilement est arrêté