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

JavaScript Discussion :

comprendre une expression JS


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre Expert
    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    1 616
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 616
    Par d�faut comprendre une expression JS
    Salut

    Dans un plug-in jquery : https://github.com/mathiasbynens/jqu...placeholder.js

    j'ai cette expression :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    input == document.activeElement && input.select();
    qui apparait dans

    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
    function clearPlaceholder(event, value) {
            var input = this, $input = $(input);
            if (input.value === $input.attr('placeholder') && $input.hasClass('placeholder')) {
                if ($input.data('placeholder-password')) {
                    $input = $input.hide().next().show().attr('id', $input.removeAttr('id').data('placeholder-id'));
                    // If `clearPlaceholder` was called from `$.valHooks.input.set`
                    if (event === true) {
                        $input[0].value = value;
                        return value;
                    }
                    $input.focus();
                } else {
                    input.value = '';
                    $input.removeClass('placeholder');
                    input == document.activeElement && input.select();
                }
            }
        }
    Quelqu'un saurait il me traduire ce que l'auteur veut faire avec cette expression et comment cette expression est cens�e fonctionner dans le cadre de la fonction ?

  2. #2
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    En JS, les op�rateurs && et || font des courts-circuits : si l'op�rande gauche permet de conna�tre le r�sultat, l'op�rande droite n'est pas �valu�e.

    Autrement dit dans une expression A && B, si A est false, on renvoie false et on passe � la suite, sans toucher � B.

    Dans notre cas, l'op�rande gauche est document.activeElement, c'est-�-dire l'�l�ment qui a actuellement le focus. L'auteur a voulu (pour une raison qui m'�chappe) que l'input ne soit pas s�lectionn� si aucun �l�ment n'a le focus au moment o� la fonction s'ex�cute.
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  3. #3
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Bonjour,
    input == document.activeElement && input.select();
    le double == est un test et ne modifiera pas la valeur de input, donc un test qui sert �

  4. #4
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    c'est un test qui v�rifie que l'�l�ment actif est bien celui qui est r�f�renc� par la variable input avant d'effectuer l'action input.select()

    cela revient �
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    if(input == document.activeElement) {
      input.select();
    }
    A+JYT

  5. #5
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    bien vu j'en avais oubli� cette optimisation diabolique

  6. #6
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Bien vu Sekaijin, je suis tomb� dans le panneau moi aussi "^^
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    1 616
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 616
    Par d�faut
    la vache ...

    Merci messieurs et merci sekaijin
    Je pr�sume que cela peut toujours se traduire comme cela.

    je vais essayer de trouver des r�f�rences l�-dessus

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Comprendre une Expression R�guli�re.
    Par kanzarih dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 26/12/2009, 10h05
  2. [Regex] V�rifier qu'une cha�ne respecte une expression r�guli�re
    Par PeteMitchell dans le forum Collection et Stream
    R�ponses: 7
    Dernier message: 13/05/2004, 14h22
  3. [String] rendre une expression reguliere insensible � la case
    Par chimical dans le forum Collection et Stream
    R�ponses: 4
    Dernier message: 07/05/2004, 11h38
  4. "Diff�rence de type dans une expression" Tquery
    Par Hakim dans le forum Bases de donn�es
    R�ponses: 3
    Dernier message: 20/04/2004, 00h22
  5. [langage] surement une expression régulière...
    Par armada dans le forum Langage
    R�ponses: 5
    Dernier message: 30/05/2003, 17h06

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