Jquery/javascript détecter cliquez sur l'événement à l'intérieur de tinymce
Simple que ça, je veux détecter lorsqu'une image a été cliqué à l'intérieur d'un éditeur tinymce textarea.
est-ce vraiment cela n'est pas réalisable sans la création d'un plugin pour ça? je ne peux pas utiliser cette méthode car im le développement d'un plugin pour drupal le module wysiwyg et je veux être compatibale avec tous les éditeurs wysiwyg prend en charge.
onclick dans les attributs de l'image coutume de travail,
.cliquez sur les auditeurs ne fonctionnent pas.
le wysiwyg api du module n'a pas de documentation que ce soit.
quelqu'un connaît une solution à cela? je veux juste de détecter quand une image a été cliqué, c'est tout...
OriginalL'auteur tobbr | 2011-05-25
Vous devez vous connecter pour publier un commentaire.
La la documentation est un bon endroit pour commencer.
Vous pouvez passer d'une fonction de configuration de bind TinyMCE événements lors de l'initialisation. Jetez un oeil à une démo ici: http://jsfiddle.net/xgPzS/5/
HTML:
Javascript:
+1 pour la mention de l'utilisation de la configuration de init-param
Apparemment, vous n'êtes pas à l'aide de la TinyMCE plugin jQuery. Pourquoi avez-vous tag jQuery alors? De toute façon, vous pouvez passer à la configuration ci-dessus biens où que vous appelez
tinymce.init()
. Je pense que vous devriez utiliser l'éditeur dépendante des fonctions plutôt que des moches, les hack que vous pouvez seulement espérer qu'il continue à travailler à travers les différents éditeurs de futures versions. Il suffit d'écrire le code générique de ce que vous voulez faire, et branchez la bonne façon dans chaque éditeur que vous souhaitez pris en charge.$('textarea') ne fonctionne pas ici, parce que l'éditeur se compose d'un modifiable iframe créé par tinymce, l'ancien textarea devient cachés et ne réagissent pas quand on clique dessus!!!
oui, c'était juste un exemple de sélecteur pour créer de l'editeur. Il doit être mis là où l'éditeur est initialisé. Comme il les a marqués, jQuery, je suppose qu'il s'agit d'utiliser la TinyMCE plugin jQuery, qui prend exactement les mêmes paramètres et des propriétés, et essentiellement exactement le même que
tinyMCE.init()
.OriginalL'auteur DarthJDG
En Tinymce 4.x version jQuery, j'ai seulement réussi à obtenir le focus et blur événements à l'aide de la méthode suivante dans la configuration
JavaScript:
OriginalL'auteur Sorin Haidau
Comme mentionné par DarthJDG la configuration de init-param est le chemin à parcourir ici
il est. cette partie appartient à l'intérieur de la tinymce fonction init et $('textarea') ne fonctionne pas dans votre cas
OriginalL'auteur Thariama
Je pense que l'approche correcte ici n'a rien à voir avec tinyMCE. Comme vous l'avez écrit, vous voulez prendre en charge de multiples types d'éditeurs WYSIWYG.
Ma suggestion est que vous simplement d'utiliser jQuery déléguer les événements. Vous liez le gestionnaire d'événement sur votre propre élément du dom, quelque part "en amont" sur le document. Il vous permet de retrouver tous les événements de clic sur les images qui sont imbriqués ci-dessous, et ensuite agir en conséquence.
Voir ici: http://api.jquery.com/on/
J'ai utilisé cette méthode avec succès à plusieurs reprises pour lier les événements de clic sur des éléments qui n'existait pas encore (ils sont insérés les dom dynamiquement par l'utilisateur).
OriginalL'auteur Yoni