Ich habe JavaScript-Code in einer HTML-Seite mit einer Schaltfläche. Ich habe eine Funktion namens "click ()", die das onClick-Ereignis der Schaltfläche behandelt. Der Code für die Schaltfläche lautet wie folgt:
<input type="button" onClick="click()">button text</input>
Das Problem ist, dass beim Klicken auf die Schaltfläche die Funktion nicht aufgerufen wird. Was mache ich hier falsch?
Vielen Dank
Zwei Beobachtungen:
Du solltest schreiben
<input type="button" value="button text" />
anstatt
<input type="button">button text</input>
Sie sollten Ihre Funktion umbenennen. Die Funktion click()
ist bereits auf einer Schaltfläche definiert (simuliert einen Klick) und erhält eine höhere Priorität als Ihre Methode.
Beachten Sie, dass es hier einige Vorschläge gibt, die einfach falsch sind, und Sie sollten nicht zu viel Zeit damit verbringen:
onclick="javascript:myfunc()"
. Verwenden Sie das Präfix javascript:
Nur innerhalb des Attributs href
eines Hyperlinks: <a href="javascript:myfunc()">
.onclick="foo()"
und onclick="foo();"
funktionieren beide einwandfrei.onclick
, onClick
und ONCLICK
. Es ist üblich, Attribute in Kleinbuchstaben zu schreiben: onclick
. Beachten Sie, dass bei Javascript die Groß- und Kleinschreibung beachtet wird. Wenn Sie also document.getElementById("...").onclick = ...
schreiben, muss es muss nur Kleinbuchstaben sein ).click () ist ein reserviertes Wort und bereits eine Funktion. Ändern Sie den Namen von click () zu runclick ()
Versuche dies
<input type="button" onClick="return click();">button text</input>
Überprüfen Sie, ob Sie dieselbe Funktion aufrufen oder nicht.
<script>function greeting(){document.write("hi");}</script>
<input type="button" value="Click Here" onclick="greeting();"/>
Versuchen Sie, die Großschreibung zu korrigieren. onclick
anstelle von onClick
Referenz: Mozilla Developer Docs
Ich schlage vor, Sie tun: <input type="button" value="button text" onclick="click()">
Hoffe, das hilft Ihnen!
<script>
//$(document).ready(function () {
function showcontent() {
document.getElementById("demo22").innerHTML = "Hello World";
}
//});// end of ready function
</script>
Ich hatte das gleiche Problem, wo Onclick-Funktionsaufrufe nicht funktionieren würden. Ich hatte die Funktion in das übliche "$ (document) .ready (function () {})" eingefügt. Block zum Umbrechen von JQuery-Skripten. Das Auskommentieren dieses Blocks löste das Problem.
Heute ist mir das auch passiert. Der Funktionsname steht möglicherweise in Konflikt mit Schlüsselwörtern. Mein Fall ist scrape()
. Ich ändere den Funktionsnamen, alles funktioniert gut.
Ja, Sie sollten den Namen Ihrer Funktion ändern. Javascript hat Methoden reserviert und onclick = >>>> click () <<<< ist eine davon, benenne sie also einfach um, füge ein 's' am Ende hinzu oder so. starker Text `