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

[FRAGE] Wo ist der Fehler

HolgerGr

New member
Hallo,

ich bastele seit einige Tagen an diesem Designer http://host-a.de/designer Nun geht es darum, weiteren Text hinzu zu fügen. Den Starttext füge ich durch folgende Zeilen ein:

Code:
canvas.add(new fabric.IText('Zum bearbeiten doppelklicken', { 
  fontFamily: 'arial black',
  left: 240, 
  top: 190 ,
  fontSize: 30,
}));

Nun soll bei Bedarf aber jeweils eine neue Textzeile durch Buttonclick hinzugefügt werden können. Unter dem Textreiter gibt es dafür einen Button. (Das Inputfeld darüber bitte nicht beachten. Das brauchen wir nicht mehr weil man den Text direkt im Textfeld bearbeiten kann)

Der Buttn beinhaltet den Eventhandler
Code:
onClick="hinzu()"

Und die entsprechende Function sieht so aus:

Code:
function hinzu(){ 
canvas.add(new fabric.IText('Zum bearbeiten doppelklicken', { 
  fontFamily: 'arial black',
  left: 240, 
  top: 190 ,
  fontSize: 30,
}));
}

Also mit anderen Worten: Wenn der Button geklickt wird, rufe die Methode zum Texthinzufügen auf.

Leider funktioniert das aber nicht.

Warum nicht?

Grüße
Holger
 
ich bekomme in der fehlerkonsole direkt eine warnung und einen fehler ausgespuckt:
Code:
Use of getPreventDefault() is deprecated.  Use defaultPrevented instead. jquery.min.js:3
ReferenceError: hinzu is not defined
 
Entscheidend scheint mir dieses zu sein: "ReferenceError: hinzu is not defined". Offenbar ist die Funktion hinzu() dort, wo der Eventhandler triggert, nicht bekannt. Ein Blick in den Quelltext deiner Seite ergibt, dass sie innerhalb der Funktion draw() definiert und daher außerhalb nicht sichtbar ist. Die sauberste Lösung wäre wahrscheinlich, wenn Du den Eventlistener nicht im HTML sondern in der Funktion draw() registrieren würdest.
 
Zurück
Oben