Wie onclick mit javascript?
Wie onclick mit javascript ?
https://jsfiddle.net/749rt0m7/1/
Habe ich versucht diesen code verwenden, aber nicht die Arbeit. Wie kann ich das machen ?
<span onclick="test_fn('aaa,bbb')" id="xx">edit</span>
<script>
document.getElementById('xx').onclick = "test_fn(111,222)";
</script>
Beachten Sie, dass Ihre inline-Attribut ist vorbei ein einziges argument, einen string mit einem Komma, aber Ihr versucht veränderte version übergibt zwei Argumente, die zahlen.
InformationsquelleAutor mongkon mamiw | 2017-03-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es ein paar Dinge, die hier Los ist.
Zunächst
test_fn()
ist nicht eine Funktion in deinem jsfiddle. Sie müssen es definieren um es genannt zu werden.Zweitens legen Sie die onclick-Attribut ein string sein, nicht eine Funktion. Würden Sie haben, um es zu werden, eine Funktion mithilfe des folgenden Codes.
Hier ist ein Beispiel für eine arbeiten jsfiddle.
UPDATE
Es sieht aus wie ich falsch verstanden, die Frage. Wenn Sie wirklich möchte, ändern die onclick-Attribut, wie in, ändern Sie den HTML-zeigt, die Sie verwenden möchten
setAttribute()
. So würde der code sein..Hier ist die aktualisiert jsfiddle
Als eine Randnotiz, wie
nnnnnn
sagt in einem Kommentar der original-Beitrag, mit dieser Sie auf der Durchreise sind 1 parameter durch die Funktion, die die Zeichenfolge111,222
wenn es scheint, dass Sie vielleicht wollen, werden Sie zwei. Wenn Sie gerne weitergeben möchte111
als ersten parameter und222
als zweiten parameter rufen Sie die Funktion entwedertest_fn(111,222)
(übergabe der Parameter als Integer) oder mittest_fn('111','222')
(übergabe der Parameter als strings)onclick="test_fn('aaa,bbb')"
zuonclick="test_fn('111,222')"
Ich aktualisiert meine Antwort.
In Bezug auf das update, ich bin mir nicht sicher, dass Sie falsch verstanden die Frage nicht so viel, wie die OP hat nicht verstanden, worum Sie baten. Gibt es irgendwelche Vorteile zum ändern des Attributs auf eine neue Zeichenfolge, anstatt nur die Zuordnung einer Funktion direkt? Ich hätte gedacht, das "richtige" Ergebnis, würde gemessen werden, welche Funktion tatsächlich aufgerufen wird und mit welchen Parametern, wenn das element geklickt wird, nicht durch das, was der HTML - "sieht aus wie", vor allem, wenn Sie "View Source", wird immer noch der original-source-code.
Ich bin nicht sicher, warum die OP wollen würde, dass es so gemacht, jedoch für einige Grund die Antwort, die ihm zur Verfügung gestellt wurde multiples mal nicht scheinen, um zu erreichen, was er wollte.
InformationsquelleAutor Alesana
Beim einstellen
onclick
im HTML, verwenden Sie eine Zeichenfolge. Wenn Sie durch JS eine Funktion verwenden.onclick="test_fn('aaa,bbb')"
zuonclick="test_fn('111,222')"
Das ist genau das, was der obige code macht. Versuchen Sie es.
könnten Sie bitte zeigen Sie mir einige fiddle ?
jsfiddle.net/bdw2puov
Wenn ich deinen code getestet, bei Seite ich will chage
id="my-span"
ausonclick="alert('foo')"
zuonclick="alert('baz')"
aber immer noch nicht arbeiten.InformationsquelleAutor Kyle Lin
Müssen Sie
onclick
zu einer Funktion, die ausgeführt wird Ihr codetest_fn('111,222')
:onclick="test_fn('aaa,bbb')"
zuonclick="test_fn('111,222')"
ja, das ist es, was diese tut.
onclick
in javascript benötigt, um eine FunktionIch habe den leisen Verdacht, Sie versuchen, Rechtsklick > viewsource um die Veränderung zu sehen. Nun, das ist nicht, wie Browser arbeiten. Die viewsource zeigt nur die ersten/ursprünglichen Inhalt, der vom server zurückgegeben. Sie können sehen, die aktualisiert onclick-Attribut, indem man die live-DOM (verwenden Sie Ihre browser-dev-Konsole, um es anzuzeigen)
Bitte beachten Sie, dass in javascript mit Hilfe der
.onclick
wird sich nicht ändern das Attribut im live-DOM. Um dies zu tun, müssen Sie diesetAttribute
Funktion.InformationsquelleAutor hackerrdave
Ich nicht sehen, wo Sie bei der Definition der Funktion
test_fn
Sie Haken die Funktion auf das element
onclick
zweimal in die html-und js .. nur eines ist nötig , und Sie brauchen, um tatsächlich zu definieren, die die Funktionnun müssen Sie definieren
test_fn
es wird aufgerufen bei Klick auf das elementbeachten Sie, dass die html -
onclick
version ist die übergabe eines Arguments und das js-script-version ist die übergabe von zwei argumens.id="xx"
nochonclick="test_fn('aaa,bbb')"
nicht ändernonclick="test_fn('111,222')"
bearbeitet und hier ist eine andere version . jsbin.com/vutotar/edit?html,js,Konsole,Ausgang
InformationsquelleAutor aeid