Ermitteln der Objektid

z-coupe

Erfahrenes Mitglied
Hallo erst mal, das ist mein erster Post in diesem Forum. Bitte nicht gleich schimpfen

So nun zu meinem Problem:
Ich habe eine Java- Applikation die mit Tapestry läuft ich habe dort den Javascript editor HtmlArea eingebunden.
Der Editor ist von mir um einige Button erweitert worden. Ich möchte aber erst später, in einem anderen Script, auf die Button reagieren. Wie stelle ich fest, welcher Button angeklickt wurde. Ich brauche so einer Art Listener der reagiert wenn der Button xy gedrückt wurde.

Ich hoffe mal, dass ich mein Problem deutlich beschrieben habe.
 
Naja...du überwachst halt den onclick-Event im Dokument.

Über die Eigenschaften srcElement(IE/Opera) bzw. target(restliche Browser) des Eventobjektes erhältst du einen Verweis auf das auslösende Objekt....mit allen Eigenschaften-> z.B. auch der ID(falls vorhanden)
 
Jo....füge das in deine Seite ein und klicke herum :)
Code:
<script type="text/javascript">
<!--
function event_info(e)
{
IE        = window.event
e         = (IE)?IE:e;
eType     = e.type;
eTarget   = (IE)?e.srcElement:e.target;
eTagName  = eTarget.tagName;
eClass    = eTarget.className;
eId       = eTarget.id;

alert('\nEvent:'  + eType +
      '\nElement:'+ eTagName +
      '\nclass:'  + eClass +
      '\nID:'     + eId);
}
document.onclick=event_info;
//-->
</script>
 
Danke, dein zweiter Post hat mir viel weiter geholfen.
Hatte am Freitag keine Zeit mehr um es auszuprobieren, deswegen erst heute.

Habe noch mal ne kurze Frage zu target bzw srcElement. Gibt es irgendwo eine Beschreibung was für Infos ausgespuckt werden können? Habe mal gegoogelt aber nichts brauchbares gefunden.
target.src Liefert mir den ganzen Pfad meines Images das auf dem Button liegt, kann ich mir auch nur den Dateinamen ausgeben lassen, ohne ihn mit subtr o.ä. zu ermitteln? Komme ich auch irgendwie an den Namen bzw. die Id des Buttons?
 
Den Dateinamen hatte ich auch so ermittelt wie du beschrieben hast. Wollte nur noch wissen, was für Eigenschaften ausgelesen werden können.

Danke für die gute Antwort.
 

Neue Beiträge

Zurück