在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的问题,但我不确定,任何人对强制按键和点击的看法都会很棒。
答案 0 :(得分:12)
使用触发器,您只需使用键码触发事件,但不会将值分配给文本框。试试这个: - http://jsfiddle.net/PbHD2/
$("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);