Ich erstelle dynamisch einen Hyperlink im C # -Code hinter der Datei von ASP.NET. Ich muss beim Klicken auf den Client eine JavaScript-Funktion aufrufen. Wie schaffe ich das?
javascript
hyperlink
ErnieStings
quelle
quelle
Antworten:
Noch ordentlicher, anstelle des
typical href="#"
oderhref="javascript:void"
oderhref="whatever"
, denke ich, dass dies viel sinnvoller ist:Wenn Javascript fehlschlägt, gibt es einige Rückmeldungen. Darüber hinaus wird unregelmäßiges Verhalten (Seitenspringen bei
href="#"
, Besuch derselben Seite beihref=""
) beseitigt.quelle
Die einfachste Antwort von allen ist ...
Oder um die Frage nach dem Aufruf einer Javascript-Funktion zu beantworten:
quelle
Mit dem Parameter onclick ...
quelle
Die JQuery-Antwort. Da JavaScript für die Entwicklung von JQuery erfunden wurde, gebe ich Ihnen in JQuery ein Beispiel dafür:
quelle
Ich bevorzuge die Onclick-Methode anstelle der href für Javascript-Hyperlinks. Verwenden Sie immer Warnungen, um festzustellen, welchen Wert Sie haben.
<a href='#' onclick='jsFunction();alert('it works!');'>Link</a>
Es kann auch für Eingabe-Tags verwendet werden, z.
<input type='button' value='Submit' onclick='jsFunction();alert('it works!');'>
quelle
Im Idealfall würde ich es vermeiden, Links in Ihrem Code zu generieren, da Ihr Code jedes Mal neu kompiliert werden muss, wenn Sie das 'Markup' jedes dieser Links ändern möchten. Wenn Sie es tun müssen, würde ich Ihre Javascript-Aufrufe nicht in Ihr HTML einbetten. Es ist insgesamt eine schlechte Praxis. Ihr Markup sollte Ihr Dokument beschreiben, nicht das, was es tut. Das ist die Aufgabe Ihres Javascript.
Verwenden Sie einen Ansatz, bei dem Sie für jedes Element eine bestimmte ID haben (oder eine Klasse, wenn die gemeinsame Funktionalität vorhanden ist), und fügen Sie dann mithilfe der progressiven Verbesserung die Ereignishandler hinzu, z.
Auf diese Weise wird Ihr Code für Benutzer mit deaktiviertem JS nicht beschädigt und es gibt eine klare Trennung von Bedenken.
Hoffe das ist von Nutzen.
quelle
<a href="https://stackoverflow.com/link/for/javascriptDisabled/Browsers.aspx" id="uxAncMyLink">My Link</a>
?Ich würde generell empfehlen, element.attachEvent (IE) oder element.addEventListener (andere Browser) zu verwenden, anstatt das Ereignis onclick direkt festzulegen, da letzteres alle vorhandenen Ereignishandler für dieses Element ersetzt.
Mit attachEvent / addEventListening können mehrere Ereignishandler erstellt werden.
quelle
Verwenden Sie das
onclick
HTML-Attribut .quelle
Wenn Sie nicht auf das Laden der Seite warten, können Sie das Element nicht anhand der ID auswählen. Diese Lösung sollte für alle funktionieren, die Probleme haben, den Code auszuführen
quelle