TinyMCE - lien personnalisé bouton “ajouter un lien” est très bien, mais ne peut pas trouver toute la documentation pour le “lien modifier” et accéder à des attributs de lien
J'ai ajouté un bouton personnalisé pour TinyMCE, ce qui ouvre une dégustation sur le lien-sélecteur. Lorsque l'utilisateur sélectionne du texte et clique sur le bouton la boîte de dialogue s'affiche et quand ils ont repris l'url que j'utilise execCommand('insertHTML', false, "<a href... etc">)
sur la sélection.
Cela fonctionne bien maintenant, lorsque le lien a déjà été créé, et que l'utilisateur veut modifier, cliquez sur le lien à nouveau sur la touche (lorsque le curseur est à l'intérieur du texte lié comme d'habitude), mais ensuite, c'est la situation - je ne sais pas comment accéder à la déjà créé un lien et c'est d'attributs à se charger et remplir le dialogue de nouveau!
Recherche TinyMCE site, Pile, Google en général. En espérant (et aussi un peu de redouter), une réponse simple, mais si pas, un complexe sera très bien!!
Si quelqu'un connaît la réponse ou me point, je lui en serais extrêmement reconnaissant. Merci d'avance,
Rob
MODIFIER les bits de mon code pour expliquer le besoin
Dans la TinyMCE init:
setup: function (ed) {
ed.addButton("link", {
title: "Link",
onclick: function (evt) {
Intranet.TextEditor._loadUrlDialog(jQueryTextAreaObject, evt);
}
});
}
La fonction qui est appelée ci-dessus:
_loadUrlDialog: function (jQueryTextAreaObject, clickEvent) {
var mce = $(jQueryTextAreaObject).tinymce();
var isSelected = mce.selection.getContent().length != 0 ? true : false;
if (isSelected) {
Intranet.UrlDialog.Fn.LoadDialog("", true, "", function (url, target, title) {
var theTarget = target == false ? "_self" : "_blank";
var link = "<a href=\"" + url + "\" target=\"" + theTarget + "\" title=\"" + title + "\">" + mce.selection.getContent() + "</a>";
mce.execCommand('insertHTML', false, link); //creates new link
});
}
else {
///THIS IS THE MISSING BIT!
};
}
OriginalL'auteur LiverpoolsNumber9 | 2011-02-21
Vous devez vous connecter pour publier un commentaire.
Vous avez deux façons d'y parvenir:
En appuyant sur le bouton vous cochez pour la sélection du nœud parent. Si le nœud est un lien, puis vous pouvez obtenir les informations de liaison de l'html d'un élément. Pour remplir votre dialogue, vous saurez quoi faire.
L'autre option est d'ajouter un contextmenu sur le clic droit, ce qui permettra de fournir les fonctionnalités nécessaires.
Voici le code du plugin pour cela (gardez à l'esprit que vous devrez ajouter "customcontextmenu" pour le plugin de votre tinymce).
je l'ai inséré dans mon post, avoir un regard sur le "onclick"
J'ai posté mon code ci - dessus, je crois que je vois où la confusion est - votre événement.cible" est le droit, cliquez sur l'événement et, par conséquent, la cible est l'endroit où se trouve le curseur. Le mien est le bouton de l'événement par conséquent, le bouton cible HTML de l'objet! Donc je suppose que j'ai besoin de savoir comment obtenir de la cible où le curseur est?
vous pouvez le faire à l'aide de l'éditeur.sélection.getNode(), cela devient à la sélection du nœud parent, gardez à l'esprit que sa va donner des résultats différents si vous avez sélectionné une partie de texte en cause plusieurs éléments html peuvent avoir été sélectionné
Grâce Thariama - mais quand il n'y a pas de "sélection" (c'est à dire le curseur est juste au milieu de la liaison) de sélection.getNode() me donne juste le href du lien! Est-il quelque chose comme (pseudo-code) de l'éditeur.getElementAtCursor()??
OriginalL'auteur Thariama