Problème de scrolling avec l'Autocomplétion

Messages postés
51
Date d'inscription
vendredi 24 janvier 2003
Statut
Membre
Dernière intervention
14 décembre 2006
- - Dernière réponse : PetoleTeam
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
- 15 déc. 2006 à 16:53
Bonjour tout le monde,

J'utilise pour faire une recherche l'autocomplétion de scriptaculous. Elle marche très bien aussi bien sur FF que sur IE.

Le seul problème est que je dois ajouter une scrollbar si les résultats de la recherche sont trop importants. Du coup, dans le CSS, j'ai fixé une hauteur prédéfinie ainsi qu'un overflow: auto. Jusque là, pas de problème.

Tout fonctionne pour le mieux sous FF, par contre cela se corse sous IE. En effet, lorsque je veux scroller avec la souris toute la liste de la recherche, les résultats disparaissent.

Pourquoi se problème persiste sous IE alors que sous FF cela marche parfaitement??

Merci de votre attention et de vos réponses

---------
le pastis est à consommer avec modération
Afficher la suite 

6 réponses

Messages postés
51
Date d'inscription
vendredi 24 janvier 2003
Statut
Membre
Dernière intervention
14 décembre 2006
0
Merci
Pas de solutions ?

---------
le pastis est à consommer avec modération
Commenter la réponse de bonjovi51
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
9
0
Merci
B
onjour...
difficile à dire sans voir comment tu déclares la zone d'édition de ton résultat...




;0)
Commenter la réponse de PetoleTeam
Messages postés
51
Date d'inscription
vendredi 24 janvier 2003
Statut
Membre
Dernière intervention
14 décembre 2006
0
Merci
Bonjour,

Je vais vous montrer un peu de code :

Tout d'abord, le CSS

 div.autocomplete {
      position:absolute;
      background-color:white;
      border:1px solid #000;
      margin:0px;
      padding:0px;
      overflow: auto;
      height: 100px;
  }

Ensuite, la page Web

<script type="text/javascript">new Ajax.Autocompleter('liste_trains', 'liste_trains_auto_complete', 'ListeTrainServlet', {method: 'GET', paramName: 'liste_trains')</script>

Et pour finir un bout du code javascript (control.js) qui doit faire boguer le truc :

onBlur: function(event) {
    // needed to make click events working
    setTimeout(this.hide.bind(this), 250);
    this.hasFocus = false;
    this.active = false;    
}

Ce doit être cette partie qui doit faire dispaître le div. J'ai peut-être une solution. Je pense mettre une condition qui permet de vérifier dans la fonction onBlur si la scrollbar du div est cliquée. Si oui, on saute :

setTimeout(this.hide.bind(this), 250);
this.hasFocus = false;
this.active = false;    

Je voudrai savoir comment faire pour récupérer un événement sur une scrollbar (en l'occurence un clique).

Merci d'avance
---------
le pastis est à consommer avec modération
Commenter la réponse de bonjovi51
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
9
0
Merci
Je ne saisi pas trop l'intêrêt du onblur est ce une imposition de l'autocomplétion de scriptaculous ?



;0)
Commenter la réponse de PetoleTeam
Messages postés
51
Date d'inscription
vendredi 24 janvier 2003
Statut
Membre
Dernière intervention
14 décembre 2006
0
Merci
Bonjour,

Oui, c'est une obligation de Scripaculous dans le fichier control.js. Par contre, j'ai essayé d'utiliser cette fonction

div.onscroll=function(){
}

Mais, je ne sais pas trop comment l'utiliser. Avez-vous des exemples d'utilisation, svp?

Merci

---------
le pastis est à consommer avec modération
Commenter la réponse de bonjovi51
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
9
0
Merci
B
onjour...
il m'est venu une idée qui vaut surement pas grand chose mais bon...
...essaies d'encapsuler ton div dans un autre que tu style comme tu le souhaite...

on ne sait jamais, ou alors sur le forum existe de Scripaculous...



;0)
Commenter la réponse de PetoleTeam