Wie simuliert man Eingabe in Eingabefeld mit jQuery?
Was ich will, ist, zu simulieren, Tippen Sie in <input>
Feld mit javascript.
Ich habe den folgenden code:
var press = jQuery.Event("keydown");
press.ctrlKey = false;
press.which = 65;
$("#test").trigger(press);
Aber wenn ich laden Sie die Seite, die #test
- input-Feld hat keine eingegebene Zeichen, den Schlüsselcode von '65' stellt 'Eine', aber es gibt keine 'Eine' input.
Im Grunde, was ich will, ist automatisch die Eingabe in der website über Greasemonkey.
Bitte geben Sie mir einige Ideen oder irgendeine library mit, die ich zu diesem Zweck verwenden können.
Vielen Dank!
InformationsquelleAutor der Frage user1422652 | 2012-12-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die senden-Taste, Ereignisse, und nichts hören, für Sie werden Sie bekommen, Sie aber Sie wird sich nicht ändern, die Eingabeso dass Sie nicht sehen, die Buchstaben
A
erscheinen, zum Beispiel. Dies ist vor allem eine Sicherheits-Sache; siehe "Manuell Ereignisse auslösen" für eine Diskussion darüber.Also, wenn Sie wollen, den Brief zu erscheinen, müssen Sie ändern Sie die Eingabe-Wert, da Sie uns das zentrale Ereignis. Es ist ein jQuery-plugin für das finden "Der
$.fn.sendkeys
- Plugin".Können Sie sehen, wie eindieses jsFiddle .
<input>
reagiert mit dem Benutzer-Schlüssel angewendet, wichtige Ereignisse und das plugin aufAls Referenz, dies ist der Schlüssel, um code von jsFiddle:
Dass plugin sollte ausreichend sein, wenn Sie nur versuchen zu "simulieren Tippen
<input>
". Aber je nachdem, was Sie sind wirklich versuchen zu tun, müssen Sie möglicherweise eine oder mehrere der folgenden:keydown
Fall, wenn die Seite javascript auslöst.change
Events, etc., wenn die Seite javascript auslöst.unsafeWindow
und/oder@grant none
- Modus zu tun.InformationsquelleAutor der Antwort Brock Adams