addEventListener load - Funktion aufrufen
bearbeitet von JürgenBHallo,
> ~~~
> <p id="text"></p>
> <a href="#" onClick="javascript:test()">Text einfügen</a>
> ~~~
so macht man das nicht. Das ist im Prinzip nicht falsch, ist aber in deinem Fall für den Feler verantwortlich.
>
> ~~~
> window.addEventListener( 'load', function () {
>
> function test() {
>
> console.log('test()');
> document.getElementById('text').innerHTML = 'Hallo Welt!';
>
> }
>
> });
> ~~~
Die Funktion `test` ist eine lokale Funktion und nur innerhalb des Eventhandlers bekannt. Versuch es mal so:
~~~html
<p id="text"></p>
<button type="button" id="insertbutton">Text einfügen</button>
~~~
Wenn man auf etwas drücken möchte, um eine Aktion auszuläsen, dann nimmt man einen Button. Links (<a>) sind zum Verlinken da.
~~~javascript
window.addEventListener( 'DOMContentLoaded', function () {
function test() {
console.log('test()');
document.getElementById('text').innerHTML = 'Hallo Welt!';
}
var insertbutton = document.getElementById('insertbutton ');
insertbutton.addEventListener( 'click', test );
});
~~~
Innerhalb des Eventhandlers für `DOMContentLoaded` ist die Funktion `test` bekannt, und kann als Eventhandler für `click` verwendet werden. Ich habe noch `load` durch `DOMContentLoaded` ersetzt, da dieses Event etwas früher feuert und nicht auf das Laden von weiteren Ressourcen wie z.B. Bilder wartet.
Gruß
Jürgen