模拟用户在 JS 和/或 jQuery 的文本输入框中输入文本的最佳方法是什么?
我 不想 实际将文本放入输入框中,我只想触发通常由用户在输入框中输入信息触发的所有事件 处理程序。 这意味着焦点、keydown、keypress、keyup 和模糊。我认为。
那么如何做到这一点呢?
您可以通过直接调用它们来触发任何事件,如下所示:
$(function() { $('item').keydown(); $('item').keypress(); $('item').keyup(); $('item').blur(); });
那会做你想做的事吗?
您可能还应该触发.focus()并可能.change()
.focus()
.change()
如果你想用特定的键触发键事件,你可以这样做:
$(function() { var e = $.Event('keypress'); e.which = 65; // Character 'A' $('item').trigger(e); });
这里有一些关于按键事件的有趣讨论:jQuery 事件按键:按下了哪个键?,特别是关于与 .which 属性的跨浏览器兼容性。