Trigger ein keypress/keydown/keyup-event in JS/jQuery?
Was ist der beste Weg, um zu simulieren, ein Benutzer die Eingabe von text in einem text-input Feld in JS und/oder jQuery?
Ich dont wollen eigentlich einen text in das Eingabefeld ein, ich will nur auslösen das Ereignis Handler, die normalerweise ausgelöst durch eine Benutzer-Eingabe von Information in ein Eingabefeld. Dies bedeutet, Fokus, keydown, keypress, keyup und Unschärfe. Ich denke.
Also wie könnte man dies erreichen?
InformationsquelleAutor Alex | 2010-07-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die trigger-Ereignisse mit einem direkten Anruf, um Sie, wie dieses:
Tut, tun, was Sie zu tun versuchen?
Sollte man wohl auch auslösen
.focus()
und potenziell.change()
Wenn Sie wollen, um die trigger-key-Ereignisse mit bestimmten Tasten, die Sie tun können, so wie diese:
Gibt es einige interessante Diskussion, die keypress-events hier: jQuery Ereignis Keypress: Welche Taste wurde gedrückt?, insbesondere hinsichtlich cross-browser Kompatibilität mit der .die Eigenschaft.
$('item').trigger('keypress', {which: 'A'.charCodeAt(0)});
Nur als info jsfiddle.net/rickj33/3fby0nzr auch dies funktionierte für mich
Können Sie code schreiben, mit Javascript (ohne jquery).
Wenn Sie brauchen, Strg:
ctrlKey: true
auch:shiftKey
,altKey
InformationsquelleAutor ebynum
Auslösen enter keypress, ich hatte zu ändern @ebynum Antwort, insbesondere über die keyCode-Eigenschaft.
keydown
Ereignis nicht erwischt zu werden, oder mache ich etwas falsch hier? fiddle.jshell.net/Palestinian/8d8J9der Grund war es nicht so funktioniert, wie Sie waren verbindlich, die Veranstaltung nach auslösen des Ereignisses. einfach binden Sie das Ereignis, bevor Sie das Ereignis auszulösen. überprüfen Sie dies: fiddle.jshell.net/8d8J9/13
es funktioniert. Check mein Kommentar hier für eine vollständige Selektor zu beheben asp.net Steuerung: codeproject.com/Tips/269388/... Stellen Sie sicher, Sie nennen es nach dem einfügen alles in den dom, wenn mit Ajax.
Dieser post gerade meinen Tag gerettet...Wow..Danke Jungs keyup Tat es.
InformationsquelleAutor cloakedninjas
Könnte man-dispatching events wie
el.dispatchEvent(new Event('keypress', {keyCode: 'a'}))
new Event('keydown')
funktioniert nicht auf IEwarum nicht KeyboardEvent? Es wählt zum automatischen füllen von Werten wie shiftKey und es ist der richtige Weg. Auch, setzen Sie eine Zeichenfolge in Schlüsselcode, das ist falsch.
Wenn Sie brauchen
Ctrl
:el.dispatchEvent(new KeyboardEvent('keydown', { keyCode: 70, ctrlKey: true }));
(Dadurch wird eine VerknüpfungCtrl + F
)InformationsquelleAutor aljgom
Hier ist eine vanilla-js-Beispiel zu trigger Veranstaltung:
Der Quellcode für diesen Beitrag finden Sie unter folgendem link die Dokumentation umfasst: plainjs.com/javascript/events/trigger-an-event-11
InformationsquelleAutor Sionnach733
Du bist jetzt in der Lage, das zu tun:
InformationsquelleAutor simonzack
Zunächst muss ich sagen, dass Probe aus Sionnach733 funktionierte einwandfrei. Einige Benutzer beschweren sich über fehlenden Beispiele. Hier ist meine zwei Cent. Ich habe mit der Maus klicken Sie auf simulation, wenn Sie diese Website: https://www.youtube.com/tv. Sie können öffnen Sie eine beliebige video-und versuchen Sie diesen code ausführen. Es führt wechseln zum nächsten video.
InformationsquelleAutor yuliskov
Ich dachte, ich würde Ihre Aufmerksamkeit, dass in dem spezifischen Kontext, in dem ein listener definiert wurde (in ein jQuery-plugin, dann das einzige, was erfolgreich simuliert das keypress-Ereignis für mich, schließlich gefangen Zuhörer, war der Einsatz von setTimeout().
z.B.
Jegliche Nutzung
$("#txtName").keypress()
war ignoriert, obwohl am Ende der.ready() function
. Keine besonderen DOM-supplement wurde erstellt asynchron sowieso.InformationsquelleAutor Fabien Haddadi