javascript - 在 JS/jQuery 中触发 keypress/keydown/keyup 事件?

标签 javascript jquery dom-events

在 JS 和/或 jQuery 中模拟用户在文本输入框中输入文本的最佳方法是什么?

不想实际在输入框中输入文本,我只想触发通常由用户输入信息触发的所有事件处理程序进入输入框。这意味着焦点、按键、按键、按键和模糊。我认为。

那么如何实现这一目标呢?

最佳答案

您可以通过直接调用来触发任何事件,如下所示:

$(function() {
    $('item').keydown();
    $('item').keypress();
    $('item').keyup();
    $('item').blur();
});

这能达到你想要做的吗?

您可能还应该触发 .focus() 和潜在的 .change()

如果你想用特定的按键触发按键事件,你可以这样做:

$(function() {
    var e = $.Event('keypress');
    e.which = 65; // Character 'A'
    $('item').trigger(e);
});

这里有一些关于按键事件的有趣讨论:jQuery Event Keypress: Which key was pressed? ,特别是关于与 .which 属性的跨浏览器兼容性。

关于javascript - 在 JS/jQuery 中触发 keypress/keydown/keyup 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36002483/

相关文章:

javascript - 如何在 Javascript 中向回调提供执行函数对象实例

javascript - Ruby on Rails -- javascript 不起作用

javascript - 保存对 .innerHTML 的引用

javascript - 如何使用 osascript 获取 JavaScript 中的服务列表?

javascript - 在 php 中刷新时,变量在上一页的查询字符串中丢失

javascript - 如果已经触发,则仅触发 Jquery ajax 一次

javascript - 在条形图中显示多维数组(在 JavaScript 中)?

javascript - 正则表达式将算术表达式分成几部分

javascript - 在 JavaScript 中是否有替代已弃用的 e.which 的方法?

javascript - 跟踪 DOM 元素上的事件监听器