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 :

Intercepter un event non géré par un on(dbl)click sur une ancre


Sujet :

JavaScript

  1. #1
    Invité
    Invité(e)
    Par défaut Intercepter un event non géré par un on(dbl)click sur une ancre
    Bonjour,

    Le problème est simple : je veux pouvoir intercepter les clics qui permettent d'ouvrir les liens dans une nouvelle page/onglet. Le soucis, c'est que on(dbl)click ne fonctionne pas, et que l'event est inexistant sous Firebug.

    Pour générer ce type d'event, il suffit de paramétrer, par exemple, le bouton 3 de la souris, et de cliquer (via ce bouton) sur un lien externe sur www.kolibot.fr (il y en a dans le footer), vous constaterez qu'il n'y a aucun bandeau supérieur, alors qu'avec un clic natif (bouton 1 ou 2), il est bel et bien présent (j'ajoute des events onclick au loading - ça ne change rien si on les écrit en dure)

    J'ai investi pas mal d'heures en recherche pour trouver une solution, et j'ai fait choux blanc, globalement il en ressort qu'il est impossible de capturer ce type d'évenement car il est lié à un paramétrage potentiellement non standard dans l'OS et par conséquent non implémenté dans JS 1.2+.

    Je viens donc vers vous pour savoir si je laisse tomber définitivement, ou si il peut y avoir des pistes à suivre.

    Merci beaucoup

  2. #2
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    tu peux toujours simuler le doubleclick au moyen d'un flag boolean et d'un setTimeout...

  3. #3
    Invité
    Invité(e)
    Par défaut
    C'est à dire ? Je ne vois pas du tout ou tu veux en venir, ya aucun event de déclenché, ya rien à capturer, c'est ça mon soucis.

  4. #4
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    tu peux capturer le onclick ?
    sur quelle balise ???

  5. #5
    Invité
    Invité(e)
    Par défaut
    :/ je pensais avoir été clair dans le titre

    Intercepter un event non géré par un on(dbl)click sur une ancre
    UNE ancre = balise a
    on(dbl)click ne fonctionne pas sur un clic non standard (exemple : une souris où le clic molette a été param pour ouvrir la page dans une nouvelle fenêtre)

    Edit : ajout de UNE avant ancre
    Dernière modification par Invité ; 09/06/2010 à 20h43.

  6. #6
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    une ancre n'est pas forcément une balise a ...
    un ancre= id

    laisse moi un peu de temps je regarde ce que je peux faire ...

  7. #7
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    voici une petit emulation du double clic que je viens de coder ...
    on peut en faire varier le déla entre deux clicks en augmentant le delai du timeout (> 200)

    un simple clic et le lien s'ouvre dans la même page
    un double click et le lien s'ouvre en popup ...

    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
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <script type='text/javascript'>
    function dblclick(lien){
    lien.clicked=lien.clicked?false:true;
    if(lien.clicked){
    clearTimeout(hold);
    lien.clicked=true;
    window.open(lien.href)
    return false;
    }
    else{
    var hold=setTimeout(function(){lien.clicked=false;
    									return true;},200)
    }}     
    </script>
    <title>Nouvelle page 1</title>
    </head>
    <body>
    <a href="about:blank" onclick="return dblclick(this)" >ici </a>
    </body>
     
    </html>
    [edit ]
    juste une petit rectification, javais oublié de remettre le clicked à false

  8. #8
    Invité
    Invité(e)
    Par défaut
    On a réellement du mal à se comprendre tous les deux ^^"

    Ta solution ne fonctionne pas sur le clic molette, de fait ya aucun event on(dbl)click interceptable ...

Discussions similaires

  1. Disque USB non reconnu par Windows 7 dans VMware sur Imac
    Par chatisis dans le forum Mac OS X
    Réponses: 2
    Dernier message: 17/12/2010, 07h50
  2. [NET4.0] Binding event lors du click sur une Image
    Par aram2 dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 08/06/2010, 09h19
  3. Event click sur une surface
    Par bakman dans le forum SDL
    Réponses: 7
    Dernier message: 16/12/2009, 21h43
  4. [XL-2007] Ouvrir un Userfrm par 1 click sur une feuille
    Par rvtoulon dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/10/2009, 13h46
  5. Réponses: 1
    Dernier message: 26/06/2009, 15h30

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