onmouseover per getElementsByName hinzufügen
Scar
- javascript
hallo,
ich versuch mit folgenden code allen inputs in einem document um einen eventhandler zu erweitern, allerdings bleibt das ohne jegliche wirkung. kann mir einer helfen und sagen was ich wo falsch mache?
function createAutoSelects(){
inputs = document.getElementsByTagName("input");
for (var i=0; i<inputs.length; i++) {
inputs[i].onMouseover = "this.select();";
//inputs[i].style.display = "none";
}
}
den style.display syntax hab ich nur als beipsiel dabei geschrieben (damit gehts, aber nicht mit dem eventhandler)
grüße Chris
hi,
inputs[i].onMouseover = "this.select();";
du möchtest den inputs eine funktionsreferenz zuweisen, nicht aber an dieser stelle bereits die funktion ausführen.
gruß,
wahsaga
function createAutoSelects(){
inputs = document.getElementsByTagName("input");for (var i=0; i<inputs.length; i++) {
inputs[i].onMouseover = "this.select();";
//inputs[i].style.display = "none";}
}
Du musst dem Handler eine Referenz auf eine Funktion zuweisen.
In der Regel machst du das indem du einfach dei Klammern wegläßt:
function f() {
alert('');
}
alert( f )
aber du kannst auch direkt ein Funktionsreferenz erzeugen:
onmouseover = funtion () { ...... };
du musst in JS auf die richtige Schreibweise achten.
Innerhalb der geschweiften Klammern, kannst du dann mit this auch das Objekt zugreifen.
Struppi.
danke für den hinweis,
grüße Chris :)