Wie löst man ein Ereignis in JavaScript aus?
Habe ich mit einem Ereignis zu einem Textfeld mit addEventListener
. Es funktioniert einwandfrei. Mein problem entstand, wenn ich wollte, um das Ereignis auszulösen programmgesteuert aus einer anderen Funktion.
Wie kann ich es tun?
InformationsquelleAutor der Frage KoolKabin | 2010-03-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie fireEvent auf IE 8 oder niedriger, und w3c dispatchEvent auf die meisten anderen Browser. Erstellen Sie das Ereignis, das Sie brennen wollen, können Sie entweder
createEvent
odercreateEventObject
je nach browser.Ist hier eine selbsterklärende Stück code (von prototype) löst ein Ereignis
dataavailable
auf eineelement
:InformationsquelleAutor der Antwort Alsciende
Einem Beispiel arbeiten:
Für ältere Browser polyfill und komplexere Beispiele finden Sie unter MDN docs.
Siehe support-Tabellen für
EventTarget.dispatchEvent
undCustomEvent
.InformationsquelleAutor der Antwort Dorian
wenn Sie jQuery verwenden, können Sie einfach tun
und Griff es mit
wo "[arg0, arg1, ..., argN]" bedeutet, dass diese Argumente optional sind.
InformationsquelleAutor der Antwort Hilder Vitor Lima Pereira
Suchte ich für die Brenn-click -, mousedown-und mouseup-event bei mouseover mit JavaScript. Ich fand eine Antwort Juan Mendes. Für die Antwort klicken Sie auf hier.
Klicken Sie auf hier ist die live-demo und unten ist der code:
InformationsquelleAutor der Antwort S.Mishra
Nur eine alternative vorschlagen, die nicht um die Notwendigkeit, manuell zu ruft eine listener-event:
Unabhängig von Ihrem Ereignis-listener hat, bewegen Sie es in eine Funktion und rufen diese Funktion aus, wird der Ereignis-listener.
Dann können Sie auch rufen, dass die Funktion überall sonst, dass Sie brauchen, um zu erreichen, die gleiche Sache, dass die Veranstaltung nicht, wenn es feuert.
Ich finde das weniger "code-intensive" und einfacher zu Lesen.
InformationsquelleAutor der Antwort Kirby L. Wallace
Habe ich nur verwendet die folgenden (scheint zu sein, viel einfacher):
In diesem Fall das Ereignis wird nur ausgelöst, wenn der Wert war wirklich geändert, so wie Sie es ausgelöst werden würde durch den normalen focus-locus verloren, durchgeführt durch den Nutzer.
InformationsquelleAutor der Antwort Aleksander Lech
Wenn Sie nicht wollen, um JQuery verwenden und sind nicht besonders besorgt über die rückwärts-Kompatibilität, verwenden Sie einfach
Finden Sie in der Dokumentation hier und hier.
InformationsquelleAutor der Antwort emisilva
Geändert @Dorian ' s Antwort arbeiten mit IE:
FIDDLE: https://jsfiddle.net/z6zom9d0/1/
SIEHE AUCH:
https://caniuse.com/#feat=customevent
InformationsquelleAutor der Antwort Yarin
InformationsquelleAutor der Antwort toto
Der effizienteste Weg ist der Aufruf der gleichen Funktion, die registriert wurde, mit
addEventListener
direkt.Können Sie auch auslösen, ein fake-event mit
CustomEvent
und co.Schließlich einige Elemente, wie
<input type="file">
unterstützen.click()
Methode.InformationsquelleAutor der Antwort Walle Cyril
diese wird imediattely ein Ereignis auslösen 'beforeinstallprompt'
InformationsquelleAutor der Antwort Dan Alboteanu
Jquery-event nennen.
Schreiben Sie die folgende Zeile, wo Sie wollen, um die trigger onChange von jedem element.
element_id wird die ID des Elements, dessen onChange Sie auslösen möchten.
Vermeiden Sie die Verwendung von
Weil er sehr wenig Unterstützung. Finden Sie dieses Dokument für seine Unterstützung.
InformationsquelleAutor der Antwort Bhuvan Arora
Was Sie wollen, ist etwas wie dieses:
Verwendung von jQuery, es wäre so etwas wie dieses:
InformationsquelleAutor der Antwort Osiris RD