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 :

désactivation lien en gardant en mémoire


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Par défaut désactivation lien en gardant en mémoire
    Bonjour,

    Connaissez-vous un moyen de désactiver un lien (<A HREF>) tout en gardant l'adresse du lien en mémoire ?

    Je connais bien le href=#, mais le souci est que lorsque je souhaite réactiver mon lien, l'adresse initialement contenu dans mon href est perdue...

    Je souhaiterais garder mon href dans la balise <A> et juste désactiver le lien pour empêcher l'utilisateur de cliquer dessus c'est tout.

    Je précise : La méthode DISABLED ne fonctionne.

    Merci.

  2. #2
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    disableLink=function(lnk) {
       lnk.setAttribute("url",lnk.href);
       lnk.href="";
       lnk.style.color="GrayText";
    }
     
    enableLink=function(lnk) {
       var url=lnk.getAttribute("url");
       if (url && url!="") {
          lnk.href=url;
       }
       lnk.style.color="";
    }

  3. #3
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    <style type="text/css">
     
    #l {
    text-decoration:underline;
    color:#0000ff;
    cursor:pointer;
    }
     
    #l:hover {
    color:#ff0000;
    }
     
    #l span {
    color:#000000;
    }
     
    </style>
     
    </head>
     
    <body>
     
     
     
     
    <p>
    <a id="l">Ceci est un lien désactivé car vous n'avez pas écrit <span>"Je veux activer le lien."</span> dans le cadre ci-dessous</a>
    </p>
     
    <p>
    <input type="text" id="t" />
    </p>
     
    <script type="text/javascript">
     
     
    var ch=document.getElementById("t");
    var lnk=document.getElementById("l");
     
    ch.onblur=function(){
     
    	if(this.value=="Je veux activer le lien."){
    		lnk.href="http://google.fr";
    			}
    	else lnk.removeAttribute("href");
     
    }
     
    lnk.onmouseover=function(){
    	if(!this.href){
    		window.status=""
    	}
    };
     
    </script>

  4. #4
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Rajoute un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onclick=function(){return false;}
    Sur ton lien, ça devrait largement suffire pour empecher quelqu'un de clicquer dessus (de toute façon, si JS est desactivé, aucun des autres scripts ne fonctionnera......)

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    ah oui, changer le texte du lien aussi, quand il est désactivé


    enfin bref, désactiver les liens c'est pas sympa et il suffit d'un oeil à la source pour passer outre;

  6. #6
    Membre éclairé Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Par défaut
    Citation Envoyé par FremyCompany
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    disableLink=function(lnk) {
       lnk.setAttribute("url",lnk.href);
       lnk.href="";
       lnk.style.color="GrayText";
    }
     
    enableLink=function(lnk) {
       var url=lnk.getAttribute("url");
       if (url && url!="") {
          lnk.href=url;
       }
       lnk.style.color="";
    }
    Hum, j'ai, comme qui dirait, l'impression que l'attribut URL n'existe pas pour l'objet A ...

  7. #7
    Membre éclairé Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Par défaut
    Citation Envoyé par denisC
    Rajoute un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onclick=function(){return false;}
    Sur ton lien, ça devrait largement suffire pour empecher quelqu'un de clicquer dessus (de toute façon, si JS est desactivé, aucun des autres scripts ne fonctionnera......)

    Ca a l'air sympa ça, je n'y avais pas penser...
    Mais après comment faire pour réactiver le lien ?

  8. #8
    Membre éclairé Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Par défaut
    Citation Envoyé par javatwister
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ch.onblur=function(){
     
    	if(this.value=="Je veux activer le lien."){
    		lnk.href="http://google.fr";
    			}
    	else lnk.removeAttribute("href");
     
    }
    Le problème c'est que le href n'est pas une valeur en dur dans le code (dans le genre de google.fr...)

  9. #9
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Citation Envoyé par linar009
    Hum, j'ai, comme qui dirait, l'impression que l'attribut URL n'existe pas pour l'objet A ...
    Ben c'est justement pour ca que je le crée

    Il s'agit de stocker href et de mettre "#" à la place...
    puis de reprendre la sauvegarde et la remettre à la place de "#"

  10. #10
    Membre éclairé Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Par défaut
    lnk.setAttribute("url",lnk.href) ne fonctionne pas si "url" n'est pas un attribut connu ...

  11. #11
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Citation Envoyé par linar009
    lnk.setAttribute("url",lnk.href) ne fonctionne pas si "url" n'est pas un attribut connu ...
    Biensur que si ca fonctionne, je l'utilise tout le temps

  12. #12
    Membre éclairé Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Par défaut
    Ok merci à vous trois, je vais me débrouiller avec tout ça.
    C'est sympa.

  13. #13
    Membre éclairé Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Par défaut
    Pour ceux que ça interesse, j'ai opté pour la solution suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    disableLink=function(lnk) {
       lnk.onclick = function() {return false;} 
       lnk.style.cursor = 'default';
    }
     
    enableLink=function(lnk) {   
       lnk.style.cursor = 'pointer';	
       lnk.onclick = lnk.href;	
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Désactiver lien avant chargement complet d'un script
    Par nicerico dans le forum jQuery
    Réponses: 7
    Dernier message: 01/02/2013, 15h39
  2. [RegEx] suppression des liens en gardant le nom
    Par serna dans le forum Langage
    Réponses: 6
    Dernier message: 01/04/2010, 09h08
  3. Désactiver lien hypertexte
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/02/2010, 18h49
  4. activer / désactiver lien
    Par fmh1982 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/02/2009, 23h19
  5. Réponses: 10
    Dernier message: 20/02/2009, 15h40

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