IE7 + onclick (nicht inline) geht nicht
siggi
- javascript
Hallo zusammen,
ich möchte gerne HTML-Elementen Events zuweisen, aber nicht inline, sondern entweder über addEventListener oder attachEvent, jedoch geht keins der beiden im IE7. Kann mir jemand helfen?
Gruß, siggi
ich möchte gerne HTML-Elementen Events zuweisen, aber nicht inline, sondern entweder über addEventListener oder attachEvent, jedoch geht keins der beiden im IE7. Kann mir jemand helfen?
Wann läuft deine Funktion?
Was sagt die Fehlerkonsole?
Was sagt ein alternativer Browser?
mfg Beat
Wann läuft deine Funktion?
Was sagt die Fehlerkonsole?
Was sagt ein alternativer Browser?
Wie sieht dein Code aus?
Hab ich alles beachtet, dass die events erst im onload-event registriert werden.
Es sieht z.B. so aus:
<script type="text/javascript">
window.onload = function()
{
document.getElementById('...').onclick = function()
{
alert('test');
}
}
</script>
Hallo,
So sollte das auch im IE7 funktionieren. Wenn nicht, dann liegt das Problem woanders. Da müsstest du uns den restlichen relevanten Code zeigen. Am besten stellst du ein reduziertes Beispieldokument online.
Mathias
Hab ich alles beachtet, dass die events erst im onload-event registriert werden.
Einige dämliche Browser geben statt dem Element zur gefragten ID schon mal das Element zu einem Name Attribut gleichen Namens zurück.
Beispiel
<input name="bla">
<div id="bla">...</div>
document.getElementById('bla');
mfg Beat
ich möchte gerne HTML-Elementen Events zuweisen, aber nicht inline, sondern entweder über addEventListener oder attachEvent, jedoch geht keins der beiden im IE7. Kann mir jemand helfen?
Wann läuft deine Funktion?
Was sagt die Fehlerkonsole?
Was sagt ein alternativer Browser?mfg Beat
Die Funktion ist ganz simple und soll einen alert('...') verursachen. Ich habe sie auch über function() { alert('...'); } angegeben. In der Fehlerkonsole steht gar nichts. Wenn ich onClick inline angebe, also z.B. <div onClick="alert('...');">...</div> dann gehts. Auch im header geht folgendes nicht:
document.getElementById('...').onclick = function() { alert('...'); }
Komische Sache. Im Firefox geht alles...
Hallo,
document.getElementById('...').onclick = function() { alert('...'); }
Event-Handler kannst du erst registrieren, wenn dem Script der Zugriff auf das Element möglich ist. Das ist nicht der Fall, wenn du den Code einfach im Header notierst. Er muss erst beim onload ausgeführt werden. Hast du das bedacht?
window.onload = function () {
document.getElementById("...") ...
};
Mathias