7

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

4

2 回答 2

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)
});
于 2013-04-20T16:25:54.577 回答
1

SublimeVideo 是一个 HTML5 播放器,没错。如果是这样,您可以使用属性将其静音,对吗?

$("video#yourVideoTagId").prop("muted", true);
于 2013-04-20T17:55:15.163 回答