Definitive Trigger Keypress jQuery thread上,没有有效的JSFiddle作为答案,并且那里的代码对我不起作用。

$("button").click(function () {
    $("input").focus();
    var e = jQuery.Event("keydown");
    e.which = 77; // # Some key code value
    $("input").trigger(e);
})


这是我的代码,这是我的小提琴
http://jsfiddle.net/Z8adb/

单击时,M应该出现在输入中,因为输入已获得焦点并具有按下其keyCode为77(“ m”)的keydown。

有任何想法吗?

编辑:我的真正目的是在Sublime Video上触发“ m”热键,以便以编程方式使视频静音。这是确保我正确触发“ m”键的第一步,而这正是我借助Stack Overflow进行的。但是,我仍然无法通过编程方式在视频上触发事件。我认为这只是Sublime Video的问题,但我不确定,任何人对强制按键和单击的看法都会令人赞叹。

最佳答案

使用触发器,您只是使用键码触发事件,而不是将值分配给文本框。试试这个:-http://jsfiddle.net/PbHD2/

String.fromCharCode

$("button").click(function() {
     $("input").focus();
    var e = jQuery.Event("keydown");
    e.which = 77; // # Some key code value
    $("input").val(String.fromCharCode(e.which));
    $("input").trigger(e);
});
$('input').keydown(function(e){
   console.log('Yes keydown triggered. ' + e.which)
});

09-25 17:25