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

jQuery Discussion :

Lancer un lien au deuxième clic


Sujet :

jQuery

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 4
    Par défaut Lancer un lien au deuxième clic
    Bonsoir,

    Pour le site d'une association que je réalise en ce moment, je rencontre un problème que mes maigrissimes connaissances en javascript me me permettent pas de résoudre.

    Afin de rendre le site compatible tablettes, j'utilise la propriété .addClass après un click pour faire apparaître un lien (et remplacer le comportement :hover du css en navigation desktop).

    En gros, le but recherché est le même comportement que sur les vignettes de ce site: http://www.chronicart.com/

    le html:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <li class="survol">
    	<a href="monurl.html"></a>
    </li>

    le javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $(document).ready(function()	{
    	$(".survol").click(function () {
    		$(".survol").removeClass("modif"); 
    		$(this).addClass("modif");return false;
    		});
    	}
    le css
    Le code est long mais en gros l'ajout de la class .modif ramène le lien dans la partie visible du li et en occupe tout l'espace.


    Problème: le lien, une fois affiché (et donc cliquable), ne renvoi jamais à l'url du href.
    C'est le comportement .click du javascript qui prédomine.

    J'ai passé plusieurs jours sur ce problème et fait de nombreux tests en vains.

    Y aurait-il quelqu'un avec une solution ou une piste (soit pour résoudre ce problème soit pour trouver une meilleurs alternative au comportement souhaité?).

    Merci beaucoup!

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 4
    Par défaut
    Bon, je me réponds:
    j'ai finalement opté pour ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onClick="window.open(this.href,'_self')
    sur les liens ce qui a pour effet de prendre la prédominance javascript sur le .addClass / .removeClass et provoque le comportement souhaité.

    Je ne suis pas sûr que ça soit bien joli joli comme solution mais à défaut de mieux...

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut


    on return false dans once() serait peut être plus "propre"...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 4
    Par défaut
    Bonjour SpaceFrog et merci beaucoup pour cette réponse !

    Je débute en javascript/jQuery et du coup je ne comprends pas tellement le conseil...

    Est-ce qu'il s'applique au code ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onClick="window.open(this.href,'_self')
    Est-ce lui qui n'est pas propre?

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    supprime le onclick dans ta balise

    http://jsfiddle.net/7mNcA/1/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $("#link").one('click', function (e) {
        e.preventDefault();
        $(this).on('click', function (e) {
        e.preventDefault();
        window.open($(this).attr('href'));
        })
    })
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 4
    Par défaut
    Merci beaucoup SpaceFrog pour ta réponse!

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

Discussions similaires

  1. Comment attribuer une couleur à un lien suite à un clic ?
    Par info007 dans le forum Mise en page CSS
    Réponses: 13
    Dernier message: 12/01/2009, 14h56
  2. Réponses: 6
    Dernier message: 07/02/2008, 12h33
  3. ondrop lancer le lien
    Par stoeck dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/06/2007, 18h41
  4. Comment changer l'apparence d'un lien sur le clic
    Par tedparker dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 11/03/2007, 01h32
  5. [MySQL] Lancer un lien vers une de mes page en php
    Par heider dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 20/02/2006, 16h44

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