• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] getActiveObject tut's nicht so recht

HolgerGr

New member
Halli hallo,

heute habe ich ein Problem beim Ändern der Schriftart. Ich habe in meinen Designer ein Select eingebaut und ein paar gängige Schriftarten hinzugefügt. Damit soll die Schriftart des oder der jeweils aktiven, also ausgewählten Texte geändert werden können.

Zum Ausprobieren bitte auf den Reiter "Text" klicken: http://host-a.de/designer

Hier der Code
Code:
function textBoxChanged(e) {
    var target = e.target;
    message = target.value;
    drawScreen();
}

function updateControls() {
    textControl.value = canvas.getActiveObject().getText();
}

var fontControl = $('#font-control');
$(document.body).on('change', '#font-control', function () {
    mytext.fontFamily = fontControl.val();
    canvas.renderAll();
});

Das klappt auch bei dem Text, der als erstes beim Laden der Seite angezeigt wird.
Leider aber mit keinem weiteren Text.

Man kann Textzeilen hinzufügen indem man auf den Button "Text hinzufügen" klickt. Die neue Textzeile wird praktisch mit dem gleichen Code hinzugefügt wie die erste, nur daß dieser in einer function(hinzu) liegt, die beim Buttonclick ausgelöst wird.

Doch ganz egal welche Textzeile gerade aktiv ist....es wird immer nur die verändert, die zuerst da war. Wenn ich sie lösche wird gar kein Text mehr verändert.

Das ist der Code mit dem der Text hinzugefügt wird:

Code:
var mytext = new fabric.IText('zum bearbeiten doppelklicken', {
        fontFamily: 'Arial',
        left: 240,
        top: 190
    });
	canvas.add(mytext);

Weiss jemand vielleicht warum sich die Textänderung nur beim ersten Text durchführen läßt?
 
Zurück
Oben