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 :

[IE] Click droit - Paste valeur insérée après l'appel de fonction


Sujet :

JavaScript

  1. #1
    Membre émérite

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Par défaut [IE] Click droit - Paste valeur insérée après l'appel de fonction
    Bonjour,

    je vous explique mon problème.

    J'ai une fonction javascript qui est exécutée lors d'event (blur, paste, keyup, input)

    Jusque là pas de soucis.

    Le problème survient lors de l'utilisation d'un event avec IE. Cet event c'est le "click-droit paste".

    La donnée est réellement inserée dans le champs après que la fonction ait été exécutée. Ce qui en résulte que cette fonction ne se terminera pas correctement vu qu'au moment de l'exécution, le champs est toujours vide.

    Un fois que la fonction est terminée, on voit apparaître clairement la donnée du clipboard dans le champs. J'ai effectué ce test en affichant des alert avant et après l'exécution de la fonction.

    Je pensais avoir résolu ce problème en insérant la donnée du clipboard dans le champs via la fonction clipboard de JS.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#pic_main" + participantId).val(window.clipboardData.getData("Text"));
    Cela fonctionne très bien, excepté lorsqu'une policy group est effective au niveau du domaine, empechant la lecture du clipboard.

    Voici la portion de code qui pose problème

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $("#pic_main" + participantId).bind('paste keyup input blur', function(e)
        {
            //alert(e.type);
            //alert("Particpant ID: "+participantId + "\n" + navigator.userAgent + "\n" + e.type + "\n" + window.clipboardData.getData("Text"));
            if (navigator.userAgent.indexOf("MSIE") != -1 && e.type == 'paste')
                $("#pic_main" + participantId).val(window.clipboardData.getData("Text"));
            //alert("call checkPic");
            checkPic('picProposal?action=picAJAX', participantId);
            //alert("checkPic called");
        });

    En décommentant les alert, on voit clairement que l'insertion de la donnée est effectuée après le message d'alerte ("checkPic called").

    Quelqu'un a-t-il déjà rencontré le problème ??

    Y aurait-il une solution autre que la fonction clipboardData ??

    Est-ce normal que l'insertion de la donnée dans le champs soit effectuée juste avant que la fonction soit terminée?

    Pourquoi ne le fait-il pas directement, dès que l'event "paste" est catché ??

    Merci d'avance pour vos réponses.

  2. #2
    Membre émérite

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Par défaut
    Bon he bien la seule chose à faire est d'utiliser le setTimeout et démarrer la fonction avec une milliseconde de retard.

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    window.setTimeout(function(){checkPic('picProposal?action=picAJAX', participantId);},1);

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

Discussions similaires

  1. la portée du mot clé static après l'appel de fonction
    Par ilyes_dev dans le forum Débuter
    Réponses: 2
    Dernier message: 19/01/2010, 17h25
  2. [auto-incrémentation] récupérer la valeur insérée
    Par laffreuxthomas dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 16/01/2005, 15h53
  3. selection par click droit
    Par mecocha dans le forum MFC
    Réponses: 2
    Dernier message: 22/12/2004, 22h35
  4. besoin d aide evenement click droit
    Par yuvino dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/12/2004, 10h32
  5. [JSP][Javascript] click droit sur un lien
    Par Stessy dans le forum Servlets/JSP
    Réponses: 22
    Dernier message: 24/09/2004, 10h14

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