hi!
danke für deine rasche antwort, habe aber mittlerweile eine
elegantere lösung gefunden. es ging mir ja darum, die von
mir vergebene id-kennung zu ermitteln und so schauts aus:
e.target.getAttribute("ID");
...wobei "e" der event ist (klar).
schönes weeky
cheops
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