IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

CSS & Javascript


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Par défaut CSS & Javascript
    Bonjour a tous, ayant cherche peandant des heures et des heures, je decide de poster en esperant avoir des reponses...

    Ce que je souhaite faire est d'associer un evenement js (onFocus ou OnBlur) a un still.

    Exemple: j'ai un champ text, j'aimerai que lorsque je clique dessus, le fond devient bleu, je sais qu'il faut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text"... onFocus="ma_fonction1();" onBlur="ma_fonction2();" ...>
    mais je souhaiterai le faire de cette maniere:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text"... class='ma_class' ...>
    et dans ma_class, on definit le onFocus et onBlur()

    j'ai vu un site qui le fait, j'ai visualise son code et il n'y a paas de onFocus dans le champ text!!

    Merci de votre aide

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2009
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 308
    Par défaut
    Avec les pseudo class :focus et :target ?

    http://www.w3.org/TR/CSS2/selector.h...pseudo-classes

  3. #3
    Membre chevronné Avatar de GihefBey
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 366
    Par défaut
    Bonjour,

    Ton message aurait sa place dans Javascript.

    Si tu ne trouves pas d'événement dans les balises, c'est peut-être que c'est codé un peu plus proprement ?

    -

  4. #4
    Membre éprouvé Avatar de Alt157
    Profil pro
    Inscrit en
    Février 2009
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 143
    Par défaut
    Le but étant de séparer au maximum la partie traitement de l'interface. Il est courant d'utiliser des class pour éviter de mettre du js directement dans la page.

    Je prends un exemple tout con : ouvrir un lien vers un autre site.

    Tu ferais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="http://www.monsite.com" target="_blanck">mon site </a>
    Mais comme c'est pas valide tu passerai directement par js. Cela donnerait donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="http://www.monsite.com" onclick="window.open(this.href);return false;" >mon site </a>
    Mais comme nous devons séparer les parties et pour un souci de maintenance... Imagines que l'on veut changer le comportement sur tous les liens du site pointant a l'extérieur... Cela serait pas évident donc le plus simple et d'utiliser les classes et ainsi avoir un code plus propre a la lecture et plus simple a maintenir.

    Donc niveau html tu aurais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="http://www.monsite.com" class="exterieur" >mon site </a>
    et dans ton fichier js

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    // Fonction a appeler apres le chargement de la page
    onload = chargement;
     
    function chargement()
    {
     var liens = document.getElementsByTagName('a');
     var longueur = liens.length;
     // on boucle sur tous les liens
     for( i = 0; i < longueur; i++)
     {
       // si il possede la classe en question
       if(liens[i].className.indexOf('exterieur') > -1 )
       {
          // on ajoute l evenement
          liens[i].onclick = ouvrirFenetre;
       }
     }
    }
     
    function ouvrirFenetre()
    {
      window.open(this.href); 
      return false;
    }
    Donc sur le meme principe il te faut créer une classe pour tes textbox et dans javascript boucler sur tous tes textbox et lorsque tu en trouves un possédant la bonne classe tu lui ajoutes les evenements focus et blur.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Par défaut
    Oh lalaaaa, j'ai meme pas ete notifie par vos reponses, c'est que par hasard que je consulte cette page!!

    je vous remercie de vos reponses, je traiterai ca demain au travail et vous tiens au courant.

    MErci encore une fois

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Par défaut
    Bonjour a tous,

    Avec les pseudo class :focus et :target ?
    http://www.w3.org/TR/CSS2/selector.h...pseudo-classes
    ehh non, le focus ne marche pas!!

    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <style type="text/css">
    input.test {
    	width: 300px;
    	border: 1px solid #444444;
    }
     
    input.test:hover {
    	border: 2px solid #444444;
    }
     
    input.test:focus {
    	border: 2px solid #444444;
    	background-color:#99CCFF;
    }
    </style>
     
    <input type="text" class="test" />
    auriez vous des idees???
    Merci

Discussions similaires

  1. Eviter le scintillement lors de manip css avec javascript...
    Par MasterOfChakhaL dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/04/2006, 20h11
  2. manipuler css en javascript ?
    Par michaelbob dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 29/03/2006, 17h49
  3. css et javascript
    Par roger12 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/02/2006, 10h30
  4. Appeler une classe CSS avec Javascript
    Par p0Kep0K dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 13/02/2006, 14h50
  5. [servlet] feuille de styme css et javascript
    Par bob33 dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 24/03/2004, 08h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo