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

Bibliothèques & Frameworks Discussion :

Détecter des modifications en mode "source" [CKEditor]


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 21
    Par défaut Détecter des modifications en mode "source"
    Hello,

    mon problème est tout bête, et pourtant je galère bien. Je veux pouvoir détecter des modifications du contenu de l'éditeur pour pouvoir déclencher une action. J'imagine que je ne suis pas le seul, c'est même expliqué dans la doc sur les plugins.

    J'ai donc suivi la doc pour obtenir un plugin du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    FCK.Events.AttachEvent( 'OnAfterSetHTML', informModify_SetListeners ) ;
     
    function informModify_SetListeners()
    {
        FCK.EditorDocument.attachEvent('onkeypress', maFonction);
    }
     
    function maFonction()
    {
        ...
    }
    Le souci est que ça fonctionne très bien en WYSIWYG, ça ne marche plus du tout en mode source: ça génère même une erreur js, FCK.EditorDocument étant null dans ce cas. J'ai dû ajouter un test sur FCK.EditMode pour corriger l'erreur.

    Je me suis frappé le DOM de FCK, mais je ne parviens pas à trouver où je dois coller cet évènement pour que ça fonctionne aussi en mode source.

    Si vous avez une idée, j'accueille à bras ouverts.
    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 21
    Par défaut
    Et voilà, comme d'habitude on galère des lustres et il suffit de poster la question pour trouver la solution dans l'heure.

    Donc histoire de ne pas avoir posté pour rien, voici un truc qui fonctionne, que j'ai dégoté en farfouillant dans les changelogs de fck.

    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
     
    FCK.Events.AttachEvent( 'OnAfterSetHTML', informModify_SetListeners ) ;
     
    function informModify_SetListeners()
    {
        if (FCK.EditMode == 0) {
            if (FCKBrowserInfo.IsIE) FCK.EditorDocument.attachEvent('onkeydown', maFonction);
            else FCK.EditorDocument.addEventListener('keypress', maFonction, false);
        }
        else {
            // Le truc que je cherchais
            FCKTools.AddEventListener (document, "keydown", maFonction);
        }
        FCK.Events.AttachEvent('OnPaste', maFonction);
    }
     
    function maFonction()
    {
        ...
    }

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

Discussions similaires

  1. [AC-2010] Détecter des modifications dans un formulaire indépendant
    Par MarieRoy dans le forum IHM
    Réponses: 1
    Dernier message: 17/04/2015, 22h13
  2. Détecter une modification de la taille des caractères
    Par Invité dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/10/2009, 20h02
  3. Détecter des modifications sur un tableau
    Par Viscapon dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 29/11/2008, 16h53
  4. détecter des modifications dans une table Firebird
    Par DAGADA dans le forum Bases de données
    Réponses: 1
    Dernier message: 15/05/2007, 10h05
  5. Réponses: 3
    Dernier message: 07/07/2006, 16h06

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