Window.getComputedStyle implementiert keinen Schnittstellenelementfehler in Firefox

8

Ich möchte einige Daten an das HTML-Element anhängen, daher habe ich den folgenden Code verwendet:

%Vor%

und alles hat funktioniert, aber dann möchte ich eine Fadein-Animation hinzufügen, während ich dieses Element zeige, also habe ich es wie folgt geändert:

%Vor%

Animation arbeitet an Chrome, aber in Firefox sehe ich den folgenden Fehler in der Konsole: TypeError: Argument 1 von Window.getComputedStyle implementiert kein Schnittstellenelement. Ich benutze jquery 1.8.2.

Können Sie mir raten, was falsch ist? Ich habe etwas mit Daten angenommen, aber in der ersten Annäherung funktioniert alles richtig.

    
Steve Macculan 03.04.2014, 21:14
quelle

4 Antworten

1

Ich habe die Lösung gefunden, indem ich die Verzögerung vor der fadeIn-Funktion hinzufüge. Code nach Änderungen:

%Vor%

Wie ich bemerkt habe, sollte die Zahl in der Verzögerung an die Größe der Daten angepasst werden, in meinem Fall für 7KB json-Daten funktioniert es, aber ich habe von 1000 angefangen.

    
Steve Macculan 04.04.2014, 18:29
quelle
2

Sie erhalten dies auch, wenn Sie getComputedStyle für <html> aufrufen. Es sollte gesunder Menschenverstand sein, aber ich hatte eine rekursive Funktion, die aus inneren Elementen mit dieser Funktion sprudelte und den Fehler gab, als es am Dokumentstamm endete.

    
Chad Hedgcock 21.01.2015 02:39
quelle
1

Dieses Problem wurde in jQuery behoben: Ссылка .

Die Problemumgehung besteht darin, Ihren HTML-Code in ein einzelnes Element zu verpacken, bevor Sie ihn an jQuery übergeben.

    
Gavin Wahl 07.07.2014 16:51
quelle
0

Stellen Sie sicher, dass Sie auch die korrekte Markup-Syntax verwenden.

Ich benutze AngularJS, um den Zustand der deaktivierten Taste dynamisch zu ändern und gleichzeitig eine Taste zu verbergen / anzuzeigen ... das hat Firefox zum Ausrasten mit dem Fehler "Window.getComputedStyle führt kein Interface-Element" (aber Safari / Chrome) / IE).

In meinem Fall war das eigentliche Problem, dass das Markup, mit dem ich arbeitete, keine übereinstimmenden öffnenden / schließenden Tags hatte: <button ng-disabled="!x">Click</div>

Einmal korrigiert: <button ng-disabled="!x">Click</button> Dinge waren in Ordnung.

Seltsamerweise waren beide vorherigen Antworten jedoch Teillösungen: Ein $ Timeout um mein Verbergen / Zeigen wurde eingefügt, da die zuerst gepostete Antwort funktionierte (aber die Verzögerung musste erheblich sein) und das Element in ein zusätzliches Element zu wickeln auch, aber war nicht die Implementierung, die ich brauchte (und andere Probleme erstellt).

Ich habe es versucht, aber ich kann einfach kein Codebeispiel bekommen, das dieses Problem reproduziert.

    
brandonjp 09.12.2014 20:41
quelle

Tags und Links