在jQuery中触发keyup事件

在jQuery中触发keyup事件,jquery,events,triggers,listener,Jquery,Events,Triggers,Listener,我正在创建一个Chrome扩展注入的代码出现了严重问题。本质上,我需要一个keyup事件侦听器来拾取某个键,但我似乎无法获取它 这里是我正在注入的代码(注意,有很多冗余,因为我正在尝试大量的事情来让它触发事件侦听器,一旦我找到可以工作的代码,我将清理它) 调用此函数时,输入元素将被聚焦,并且“keyup元素”将打印到控制台。但是当调用这个函数时,我为keyup事件设置了一个事件侦听器断点,代码永远不会中断 当我只需在键盘上按一个键,同时将注意力集中在输入字段内,并且为keyup事件设置了一个事件

我正在创建一个Chrome扩展注入的代码出现了严重问题。本质上,我需要一个keyup事件侦听器来拾取某个键,但我似乎无法获取它

这里是我正在注入的代码(注意,有很多冗余,因为我正在尝试大量的事情来让它触发事件侦听器,一旦我找到可以工作的代码,我将清理它)

调用此函数时,输入元素将被聚焦,并且“keyup元素”将打印到控制台。但是当调用这个函数时,我为keyup事件设置了一个事件侦听器断点,代码永远不会中断

当我只需在键盘上按一个键,同时将注意力集中在输入字段内,并且为keyup事件设置了一个事件侦听器断点时,源jquery.min.js中会出现一个中断,并突出显示“(e)”,这是此函数调用的参数:“f=v.handle=function(e)”。。。请注意,通常只有一个断点发生,但如果我已经调用了我的函数,那么会发生两个断点,因为我正在生成console.log on keyup事件

非常感谢您的帮助,谢谢

使用
$.Event()
创建请求的事件,然后使用
.trigger()

演示:

代码:


问题是,即使是你给我的代码似乎也被其他键控侦听器接收到。如果转到JSnippet页面,打开dev工具并为keyup事件设置一个事件断点,那么即使e.打印到控制台并在iElement中设置为值,它在运行代码时也不会中断。但是,如果您关注html输入并开始键入,则会触发断点。
function simulateKey(iElement) {
    $( iElement ).focus();

    var e = jQuery.Event("keyup");
    e.which = 37;
    e.keyCode = 37;
    e.charCode = 0;

    $( iElement ).keyup(function () {
        console.log("keyup element");
    });

    $( iElement ).trigger(e);

    var f = jQuery.Event("keyup");
    f.which = 70;
    e.keyCode = 70;
    f.ctrlKey = true;
    f.shiftKey = true;

    $( iElement ).trigger(f);
    $ ( document ).trigger(f);
    $ ( window ).trigger(f);    
}
$(function() {
    var $iElement = $('#logit');
    $iElement.keyup(function(e) {
      console.log(e.which);
      $(this).val(e.which);
    });
    simulateKey($iElement);
});


function simulateKey($iElement) {
    var e = $.Event('keyup');
    e.which = 65; // Character 'A'
    $iElement.trigger(e);
}