Hallo.
for-in-Schleifen sind dein Freund:
<html><head><title>e.target</title>
</head><body>
<h1 id="evtTarget">Klick mich!</h1>
<script type="text/javascript">
<!--
function piet(e)
{
var e1 = document.createElement("h2");
e1.appendChild(document.createTextNode("e.target"));
document.body.appendChild(e1);
for(property in e.target)
{
e1 = document.createElement("p");
e1.appendChild(document.createTextNode("e.target." + property + " = " + e.target[property] + "; "));
document.body.appendChild(e1);
}
e1 = document.createElement("h2");
e1.appendChild(document.createTextNode("e.target.parentNode"));
document.body.appendChild(e1);
for(property in e.target.parentNode)
{
e1 = document.createElement("p");
e1.appendChild(document.createTextNode("e.target.parentNode." + property + " = " + e.target.parentNode[property] + "; "));
document.body.appendChild(e1);
}
}
document.getElementById("evtTarget").onclick = piet;
//-->
</script>
</body></html>
"e.target.firstChild.data" liefert mir zwar schon mal den Inhalt
von meinem Layer aber ich brauche den Namen, bzw. die von mir
vergebene ID von dem Ding.
Dank der for-in-Schleife wird dann auch ersichtlich, dass e.target ein Textknoten ist, e.target.parentNode bzw. e.target.parentNode.id ist das, was du suchst.
ODer besteht alternativ die Möglichkeit,
dem Layer einen Parameter mitzugeben, wenn er den Event ausführt?
Die gibt es auch:
<html><head><title>e.target</title>
</head><body>
<h1 id="evtTarget">this.id = ?</h1>
<script type="text/javascript">
<!--
function sid(evt,id)
{
document.getElementById("evtTarget").firstChild.nodeValue = "this.id = " + id;
}
document.getElementById("evtTarget").onmouseover = function(evt){sid(evt,this.id)};
//-->
</script>
</body></html>
Gruß
Norbert