Wie hinzufügen von click-Ereignis auf ein element?
Möchte ich hinzufügen eine click-Ereignis in plain JavaScript (ohne jQuery), um ein element wie diese, so dass ich don ' T haben eine id
aber eine Klasse:
<a href="http://example.com/share" class="MyClass">Yummy</a>
InformationsquelleAutor user603007 | 2011-11-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie keine id haben und nicht jeder Selektor-Bibliothek und Sie wollen, dass es funktioniert in älteren Browsern, dann braucht es ein bisschen mehr Arbeit. Wenn Sie eine id auf, es ist ganz einfach. Wenn nicht, dauert es mehr code:
Seit
getElementsByClassName
ist nicht allgemein verfügbar in älteren Browsern, müssten Sie ein shim, um es zu implementieren, wenn Sie nicht vorhanden ist. Oder kann man alle links in Ihrem Dokument mit:und dann radeln Sie durch die Liste, bis Sie finden die, die Sie wollen (vielleicht überprüfen den Namen der Klasse).
Wenn man eine ID auf den link:
Dann, dazu braucht es nur diesen code:
Wenn Sie gehen, tun dies regelmäßig, das hinzufügen von ein Ereignis-listener ist ein wenig mehr erweiterbar als die onclick-Eigenschaft, aber wenn Sie don ' T haben keine Rahmen, dann müssen Sie eine Funktion für das hinzufügen von ein Ereignis-listener behandelt die älteren Versionen des IE.
InformationsquelleAutor jfriend00
Da gibt es mehrere Möglichkeiten, dies zu tun.
Ist fügen Sie dem click-Ereignis direkt in den Anker
als:
<a href='' onclick='yourFunct()'> Yummy </a>
Den anderen Weg kann durch die Verwendung von Dokumenten.getElementsByTagName('a') können Sie Referenz für alle href ' s als array, dann kannst du dich entscheiden, dass bestimmte href hinzufügen und klicken Sie auf Ereignis, um es.
wie:
document.getElementsByTagName('a')[0].click = function(){ }
hier 0 ist nur symbolisch, wenn u wissen, die genaue Stelle in der Reihe, die Sie geben kann, die index.
Den Dritten Weg, können Sie einen benutzerdefinierten geschrieben werden kann. Dokument.getElementsByClassName Funktion in javascript und nutze es ähnlich. Sie können eine Reihe von Implementierungen von getElementsByClassName durch google-Suche.
Blick auf http://robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/ eine der Umsetzung.
InformationsquelleAutor sushil bharwani
Sie einfach verwenden, wie unten
InformationsquelleAutor AjayR
InformationsquelleAutor Jigar Tank