使用jQuery触发Keypress

时间:2013-04-20 16:05:39

标签: jquery keypress

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视频上触发“m”热键,以便以编程方式静音视频。这是我确保正确触发“m”键的第一步,这是我在Stack Overflow的帮助下完成的。但是,我仍然无法在视频上以编程方式触发事件。我认为这只是Sublime Video的问题,但我不确定,任何人对强制按键和点击的看法都会很棒。

2 个答案:

答案 0 :(得分:12)

使用触发器,您只需使用键码触发事件,但不会将值分配给文本框。试试这个: - 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)
});

答案 1 :(得分:1)

SublimeVideo是一款HTML5播放器,正确无误。如果是这样,您可以使用属性将其静音,对吗?

$("video#yourVideoTagId").prop("muted", true);
相关问题