How do you simulate typing using jQuery?
Solution 1
Are you looking for a way to trigger the events associated with typing or do you want to append text to a container so that it looks like someone is typing? If you're looking for the events, then @Nick is absolutely correct in suggesting the methods for triggering the event. If the latter, you'll want to use a timer to replace the text/html of the container with successive substrings of your text. You might be able to get a better effect by appending successive span
elements containing each letter if the text is very long -- this would reduce flashing as the text gets replaced and the layout changes momentarily.
EDIT: I was going to add an example, but it turns out there's a plugin for that already: jTypeWriter.
Solution 2
You can use these events, depending on what you want:
Solution 3
If you really want to simulate typing (i.e. including triggering the events and appending the text to an input or textarea element), you can use the jQuery simulate extended plugin:
http://j-ulrich.github.com/jquery-simulate-ext
Then you can use
$('input').simulate("key-sequence", {sequence: "This is a test", delay: 10});
to simulate the typing of the text "This is a test"
with a 10ms delay between each key press.
Disclaimer: I'm the author of the plugin.
Related videos on Youtube
Admin
Updated on April 18, 2022Comments
-
Admin about 2 years
Like how the
click()
can be used to trigger a click event on an element, is there any way to simulate the typing of a string? -
Admin about 14 yearsThanks for the recommendation, although all I need is for the textarea to be filled up (no need for any animation). I realized I can use innerHTML or what, silly me :)
-
Matt almost 10 yearsIt looks like jTypeWriter might be dead. At least, I can't find it anywhere. But I came across an alternative jQuery plugin that looks nice: TypeType.
-
juan Isaza over 3 yearsThat library is abandoned according to its github page :(. Anyone knows a substitute?