Bonjour, voilà hammerJs cause des problèmes de balayage sur mon App android. J'ai crée un code qui ne doit gérer qu'un evenement en panleft, et ça marche très bien. Mais lorsque je swift l'ecran vers le haut il deplace bizarement mon bloc alors qu'il ne doit rien faire, voire même il bloc mon ecran ou fait disparaître mon bloc. J'ai même essayé de gerer les énements de drag en du simple javascript mais ça ne marche pas. Quelqu'un a-t-il une solution à me proposer?

Voici mon code

Ce que je fais

$("maDiv").hammer()
                  .on('pan',function(e){
                        if(e.gesture.additionalEvent== "panleft"){
                                    var swip = e.gesture.deltaX
                                            if(swip >= -174 ){
                                        $("maDiv").animate({marginLeft: swip}, 0)
                                 }else{
                                $("maDiv").css({marginLeft:- $("maDiv").width()} )
                                }
                        }else{
                            //Je vois en console le type de balayage effectué qui ne dois rien faire sur mon bloc
                            console.log("Ne dois rien faire", e.gesture.additionalEvent)
                            return false
                        }
                        })
                    .on("panend",function(e){
                            if(e.gesture.deltaX >= -174){
                                    $("maDiv").animate({marginLeft: 0}, 0)
                            }
                            responsiveVoice.pause();
                    })

Ce que j'obtiens

Lorsque je teste l'application sur Android il fonction très bien lorsque je swift vers la gauche; mais quant je swift vers le haut il crach tout alors qu'il ne dois effectuer aucun evenement.

Avez-vous dèjà recontrer ce genre de problème, ou avez-vous une solution à me proposer pour resoudre mon problème?

2 réponses


Anthony_
Auteur
Réponse acceptée

*Après des mois de galère, j'ai trouvé la réponse sur le formum GitHub. Au cas où quelqu'un a le même problème avec hammerJs: ouvrir le fichier hammer.js et modifer la variable comme ceci: var SUPPORT_POINTER_EVENTS = false

Hammer ne fonctionnera plus si vous le tester sur PC, mais une fois compilé avec phoneGap ou Cordova il va fonctionner sur votre Android

A plus

Anthony_
Auteur

Personne pour me répondre?