events per script zweisen mit funktionsparameter
MichaelR
- javascript
Hallo,
Es werden mehrere Div-Elemente per Code
var Elm = document.createElement('div');
erzeugt, und dann in den Document-Tree eingehängt; diese Divs sollen u.a. ein Ereignis onclick erhalten
Elm.onclick = function(){//Code...;}
In dem Code-Block brauche ich die Referenz auf das jeweilige Element,d.h. das was man mit erreicht:
<body>
<div onclick="DoWas(this)">text</div>
...
</body>
Allerdings fällt mir nicht ein, wie ich das "this" oben bei Elm.onclick einbauen muss, um den gleichen Effekt zu erhalten.
Mit
Elm.onclick = function(){ // mach was mit "Elm" ...;}
wird zwar der jeweilige JS-Code ausgeführt, aber dabei wird immer das als letztes erstellte Div verwendet, das Div das in "Elm" zum Schluss enthalten ist..
Hat jemand einen Tipp für mich?
Danke + Grüße
Michael
Elm.onclick = function(){//Code...;}
Allerdings fällt mir nicht ein, wie ich das "this" oben bei Elm.onclick einbauen muss, um den gleichen Effekt zu erhalten.
Du kannst innerhalb der Methode auf this zugreifen, z.B.
function setCSSHover(){
var elementsByClass = getElementsByClass("navitem");
for(a in elementsByClass){
elementsByClass[a].onmouseover = function mOver(){
this.className = "navitem2";
}
elementsByClass[a].onmouseout = function mOut(){
this.className = "navitem";
}
}
}
Du kannst also auch wrappen, um this an eine andere Methode zu übergeben.