mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Di 19.03.2024 11:04 Benutzername: Passwort: Auto-Login

Thema: Farbe einer Zelle bei onclick auslesen vom 10.12.2012


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Farbe einer Zelle bei onclick auslesen
Seite: 1, 2  Weiter
Autor Nachricht
qualidat
Threadersteller

Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht: Männlich
Verfasst Mo 10.12.2012 13:25
Titel

Farbe einer Zelle bei onclick auslesen

Antworten mit Zitat Zum Seitenanfang

Für einen Farbwähler habe ich eine Tabelle mit farbigen Zellen gebaut. Im onclick-Event einer jeden Zelle steht
onclick=creturn(this);

Code:
function creturn(c)
{
  ret=c.style.backgroundColor;
  alert(ret);
}


Während die Funktion z.B. (testweise) mit "ret=c.style.width;" den korrekten Wert ('10px') zurückgibt, erhalte ich für backgroundColor immer nur "undefinied". Ich hätte aber gerne die Farbnotierung in Hex-Schreibweise (z.B. '#ff0000') ... Tips? Danke.


Zuletzt bearbeitet von qualidat am Mo 10.12.2012 13:29, insgesamt 3-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 10.12.2012 13:32
Titel

Antworten mit Zitat Zum Seitenanfang

https://www.google.de/?q=javascript+get+style+property

Zuletzt bearbeitet von m am Mo 10.12.2012 13:34, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
fyll

Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht: Männlich
Verfasst Mo 10.12.2012 13:37
Titel

Re: Farbe einer Zelle bei onclick auslesen

Antworten mit Zitat Zum Seitenanfang

qualidat hat geschrieben:
Im onclick-Event einer jeden Zelle steht
onclick=creturn(this);
Wenn das stimmt, solltest du das "onclick=" da wegmachen ^^

qualidat hat geschrieben:
Ich hätte aber gerne die Farbnotierung in Hex-Schreibweise (z.B. '#ff0000') ... Tips? Danke.

In welcher "Schreibweise" das ausgegeben wird, bestimmt der Browser.
Soweit ich weiß, gibt der Opera in manchen Versionen zB grundsätzlich rgba(r,g,b,a) aus - auch wenns als #rgba angegeben ist. Das müsstest also ggf. nochmal konvertieren.
  View user's profile Private Nachricht senden
qualidat
Threadersteller

Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht: Männlich
Verfasst Mo 10.12.2012 13:49
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
https://www.google.de/?q=javascript+get+style+property


Danke, aber ich würde es auch gerne verstehen. Und die gefundenen Varianten erklären mir nicht, wieso es mit "width" funktionert, jedoch nicht mit "backgroundColor" ... ?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
qualidat
Threadersteller

Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht: Männlich
Verfasst Mo 10.12.2012 13:57
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
Wenn das stimmt, solltest du das "onclick=" da wegmachen ^^


Ne, ist schon ok, ist hier ungeschickt ausgedrückt. Wie bereits geschrieben ... mit der genannten Methode komme ich problemlos an Eigenschften wie "width" oder "height", aber eben nicht an "backgroundColor" *Schnief*

Auch eine Übergabe von "this.backgroundColor" anstelle des gesamten Cell-Objektes änder Nichts ... immer nur "undefinied".

Da ich den Farbwähler sowieso in einer Schleife mit Werten fülle, kann ich den Farbcode auch zusätzlich noch als ID verwenden und so herausbekommen, welche Zelle geklickt wurde. Aber elegant ist das nicht ...


Zuletzt bearbeitet von qualidat am Mo 10.12.2012 14:03, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 10.12.2012 14:04
Titel

Antworten mit Zitat Zum Seitenanfang

qualidat hat geschrieben:
Danke, aber ich würde es auch gerne verstehen. Und die gefundenen Varianten erklären mir nicht, wieso es mit "width" funktionert, jedoch nicht mit "backgroundColor" ... ?


Höchstwahrscheinlich weil du die width Eigenschaft per Javascript setzt oder als inline Style.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
fyll

Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht: Männlich
Verfasst Mo 10.12.2012 14:14
Titel

Antworten mit Zitat Zum Seitenanfang

qualidat hat geschrieben:
Ne, ist schon ok, ist hier ungeschickt ausgedrückt. Wie bereits geschrieben ... mit der genannten Methode komme ich problemlos an Eigenschften wie "width" oder "height", aber eben nicht an "backgroundColor" *Schnief*
Dann hat die Zelle vielleicht kein CSS-Background-Color?
Hast du das etwa mit bgcolor="iorgendwas" angegeben? Au weia!
Wenn dus über <style/> angegeben hast, brauchst aber getComputedStyle.

Aber mal ganz davon ab.
Du hast jeder Tabellenzelle im HTML ein onclick="bla(this)" gegeben?
Das ist in etwa so schön, wie es ein bgcolor wäre Lächel
Gib solche js-listener dem Element am besten im JS.
  View user's profile Private Nachricht senden
ChrisKam

Dabei seit: 01.07.2009
Ort: Hattingen
Alter: 38
Geschlecht: Männlich
Verfasst Mo 10.12.2012 14:19
Titel

Antworten mit Zitat Zum Seitenanfang

Ich würde das wegen der unterschiedlichen Implementierungen nicht mit Vanilla JS machen, sondern lieber mit jQuery.

Siehe http://api.jquery.com/css/

Damit lassen sich auch alle Felder erstellen und click listener unobstrusive sehr komfortabel dran basteln.

Und ich hoffe ebenfalls nicht, dass Du es so gemacht hast, wie fyll das in seinem Post skizziert *zwinker*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen onclick-Event bei onclick dieses Elements ändern
wie per JS timestamp auslesen und dann farbe ändern?
HTML Zelle teilen
Texteinzug um 10px in einer Zelle. Wie?
[CSS] zentrierte hor. Positionierung in Zelle...GROMPF!
Stylesheet für die Füllung einer Zelle
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.