TinyMCE - benutzerdefinierte Schaltfläche link - "link hinzufügen" ist in Ordnung, aber finde keine Dokumentation für "Verknüpfung Bearbeiten" und Zugriff auf die link-Attribute

Habe ich Hinzugefügt eine benutzerdefinierte Schaltfläche zu TinyMCE, die bis bringt eine maßgeschneiderte link-picker. Wenn der Benutzer wählt einen beliebigen text ein und klickt auf die Schaltfläche wird der dialog angezeigt und Wann Sie abgeholt habe die url bin ich mit execCommand('insertHTML', false, "<a href... etc">) auf die Auswahl.

Dieser funktioniert einwandfrei - jetzt, wenn der link bereits erstellt wurde, und der Nutzer will, um es zu Bearbeiten, klicken Sie auf die link-Taste erneut (wenn sich der cursor innerhalb der verlinkte text als normal), aber dann ist hier die situation - ich weiß nicht, wie Sie auf die bereits erstellte Verknüpfung, und es ist Attribute dann laden Sie oben und füllen Sie den Dialog erneut!

Haben Suche TinyMCE Website, Stack, Google im Allgemeinen. In der Hoffnung (und auch ein bisschen gefürchtet) eine einfache Antwort - aber wenn nicht, ist ein komplexer wird gut!!

Wenn jemand weiß die Antwort oder kann mir es, wäre ich sehr dankbar. Vielen Dank im Voraus,
Rob

BEARBEITEN - bits von meinem code zu erklären, müssen

In der TinyMCE init:

setup: function (ed) {
    ed.addButton("link", {
        title: "Link",
        onclick: function (evt) {
            Intranet.TextEditor._loadUrlDialog(jQueryTextAreaObject, evt);
        }
    });
}

Die Funktion, die aufgerufen wird, oben:

_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!
    };
}

InformationsquelleAutor LiverpoolsNumber9 | 2011-02-21

Schreibe einen Kommentar