IE6 und Transparent bei Scriptaculous-> InPlace Editor

C3000

Mitglied
Hi @ all

Ich möchte gerne ein InPlace editor vom Framework Scriptaculous in meine Seite einbinden.
Im FF funktioniert das ganze Prima nur im IE6 hab ich nun erste Probleme.

Ich möchte kein Highlighting bei einem hover. Deshalb habe ich die Highlightfarbe Transparent zugeordnet.
Im IE bekomm ich nun den Fehler:
Code:
Zeile: 1590
Zeichen: 9
Code: 0
Fehlermeldung: Ungültiger Eigenschaftswert.

Das ganze sieht so aus:
Code:
editor = new Ajax.InPlaceEditor(this.id+"text", 'php/setData.php', {submitOnBlur:true, okButton:false, cancelLink:false, highlightcolor:"transparent", highlightendcolor:"transparent", callback: function(form, value) { return 'tab_id='+currentTab.id+'&title=' + escape(value) }});

Da der Hintergrund variabel ist kann ich keine feste Farbe zuordnen.
Habt ihr evtl einen Vorschlag?

Danke für eure Mühe schon mal.

MfG
 
Du könntest aus der entsprechenden "Klasse" folgendes entfernen:
Code:
      onComplete: function(transport, element) {
        new Effect.Highlight(element, {startcolor: this.options.highlightcolor});
      },

...das sorgt für das Highlightning.

das Problem ist, das beim Highlightning ja gefadet wird, und damit das funktioniert, werden die RGB-Werte der Startfarbe/Endfarbe benötigt, welche bei "transparent" natürlich nicht ermittelbar sind.

Falls du es nicht entfernen willst, weil du es noch woanders brauchst, könntest du es auch in der Art modifizieren(habs jetzt nicht getestet:-()
Code:
onComplete: function(transport, element) {
        if(this.options.highlightcolor!='transparent')
          {new Effect.Highlight(element, {startcolor: this.options.highlightcolor});}
      },
 
Es wird zwar dann eine Funktion bei allen InPlace editoren weggelassen, aber ich habe deine Lösung genommen.

Man muss aber auch
Code:
leaveHover: function() {
    if (this.options.backgroundColor) {
      this.element.style.backgroundColor = this.oldBackground;
    }
    Element.removeClassName(this.element, this.options.hoverClassName)
    if (this.saving) return;
    /*this.effect = new Effect.Highlight(this.element, {
      startcolor: this.options.highlightcolor,
      endcolor: this.options.highlightendcolor,
      restorecolor: this.originalBackground
    });*/
  },
diesen Teil des Codes auskommentieren oder weglassen.

MfG
 
Ich hab mal im Wiki nachgeschaut, es sollte auch gehen, wenn du beim Erstellen des Objektes onComplete eine leere Funktion zuweist.
 
Also das mit dem OnComplete stimmt. Allerdings stört dann immernoch die leaveHover Funktion mit dem 2. Effect.Highlight.

Das muss ich immernoch auskommentieren.

Aber danke für deine Mühe.
Falls noch jemand was findet. Bin immer offen für Vorschläge.

MfG
 

Neue Beiträge

Zurück