Heim >Web-Frontend >js-Tutorial >Wie rufe ich eine JavaScript-Funktion ordnungsgemäß über eine HTML-Schaltfläche auf?

Wie rufe ich eine JavaScript-Funktion ordnungsgemäß über eine HTML-Schaltfläche auf?

Barbara Streisand
Barbara StreisandOriginal
2024-11-26 00:03:13240Durchsuche

How to Properly Call a JavaScript Function from an HTML Button?

Aufrufen einer JavaScript-Funktion mit einer HTML-Schaltfläche

Sie versuchen, eine JavaScript-Funktion, CapacityChart(), mithilfe einer HTML-Schaltfläche aufzurufen. aber die Funktion wird nicht ordnungsgemäß ausgeführt.

Der erste Ansatz besteht darin, den Onclick-Ereignishandler direkt im HTML zu definieren element:

<input type="button" value="Capacity Chart" onclick="CapacityChart();">

Das Definieren von Ereignishandlern in HTML weist jedoch Einschränkungen auf. Moderne Browser bevorzugen die Verwendung von JavaScript-Ereignis-Listenern für eine bessere Code-Organisation und -Wartung.

Mit JavaScript können Sie dem Onclick-Ereignis der Schaltfläche mithilfe der Methode addEventListener() einen Ereignis-Listener zuweisen:

document.getElementById("buttonId").addEventListener("click", CapacityChart);

Eine andere Möglichkeit besteht darin, eine anonyme Funktion direkt an die onclick-Eigenschaft anzuhängen:

document.getElementById("buttonId").onclick = function() { CapacityChart(); };

Das Problem mit Ihrer CapacityChart()-Funktion liegt wahrscheinlich woanders. Versuchen Sie, das Problem mit dem folgenden Code zu beheben:

CapacityWindow.document.open("text/html");
CapacityWindow.document.write(s);
CapacityWindow.document.close();

Um die browserübergreifende Kompatibilität sicherzustellen, ersetzen Sie außerdem alle Instanzen von document.all durch document.getElementById in Ihrem Code.

Das obige ist der detaillierte Inhalt vonWie rufe ich eine JavaScript-Funktion ordnungsgemäß über eine HTML-Schaltfläche auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn