Ich versuche die JavaScript-Ereignisbehandlung zu verstehen. Ich mag einige Code aufgerufen werden, wenn ich eine Taste drücken, und fügte hinzu, ein Eventlistener - mein Code:Javascript: Code wird beim Laden aufgerufen, sollte aber ausgeführt werden, wenn ein Klickereignis passiert ist
<html>
<head>
<title>
PDSA #4.4: Event Registering
</title>
<script>
function changeTheButton(btn){
btn.innerHTML = "Please, don't press again!";
alert("Changed the button");
}
function init(){
btn = document.getElementById("button1");
btn.addEventListener("click", changeTheButton(btn), false);
}
</script>
</head>
<body onload="init()">
<form>
<button id="button1">Don't press this button</button>
</form>
</body>
</html>
Wenn ich diese Seite öffnen in Chrome oder Firefox der Text auf den Button bereits „Bitte, nicht drücken nochmal!" und die Warnung wird geöffnet, bevor ich etwas mache.
Warum passiert das? Ich habe erwartet, dass dies passiert, wenn ich den Knopf drücke und nicht auf Last.
Vielen Dank im Voraus für jede Hilfe André
Hallo, danke für die schnelle Antwort. Kannst du mir sagen, warum der Knopftext zurück zu "Drücken Sie diese Taste nicht" wechselt, wenn ich auf "OK" in der Warnung klicke? Ich möchte, dass der Schaltflächentext wie folgt bleibt: "Bitte nicht nochmal drücken!" wenn es geklickt wurde. – AndreKuntze
@Andre: Nun, du musst nur die Operationen in 'changeTheButton' wechseln: Wenn du zuerst 'alarmieren' willst, dann zuerst 'alert'; –
@Andre: Funktioniert für mich: http://jsfiddle.net/A35qX/2/ –