通过Javascript触发键盘点击

通过Javascript触发键盘点击,javascript,Javascript,Jquery/Javascript事件触发器似乎不会触发活动元素 我有一个播放/暂停按钮,并试图通过Javascript在它们之间切换。当使用我的物理键盘并按Enter键时,我看到它在它们之间切换。当试图通过代码触发它时,它实际上似乎什么都没做 我试过几件事: jQuery.event.trigger({type: 'keyup', which : 13}); jQuery.event.trigger({type:'keydown',which:13}) 我认为其中一个会像回车键一样按下播放/

Jquery/Javascript事件触发器似乎不会触发活动元素

我有一个播放/暂停按钮,并试图通过Javascript在它们之间切换。当使用我的物理键盘并按Enter键时,我看到它在它们之间切换。当试图通过代码触发它时,它实际上似乎什么都没做

我试过几件事:

jQuery.event.trigger({type: 'keyup', which : 13});
jQuery.event.trigger({type:'keydown',which:13})

我认为其中一个会像回车键一样按下播放/暂停键


有什么想法吗?

要触发特定的按键,请创建jQuery按键
事件
,设置要模拟的按键,并触发DOM对象上创建的事件,该事件可能是您的播放器

var e = $.Event('keypress');
e.which = 13; // Enter key
$('#my-player').trigger(e);
正如@ScottMarcus在评论中提到的,更好的办法是触发按键事件而不是事件本身所采取的行动。例如,如果设置了以下事件:

$('#my-player').keypress(function(e) {
  if (e.which == 13) {
    togglePlayButton();
  }
});

您可以调用
togglePlayButton()直接模拟按键的位置。但不要为此牺牲代码的清晰性。

JavaScript无法触发实际的击键。相反,只需启动如果击键发生本应启动的操作。需要添加的一点是,它可以是任何按钮,而不仅仅是播放/暂停。我想知道是否有一种方法可以在document.activeelement上执行此操作?需要添加的一点是,它可以是任何按钮,而不仅仅是播放/暂停。我想知道是否有办法在document.activeelement上执行此操作?@sql noob您是否在寻找按enter键并触发页面上活动元素的按键事件?
$('#my-player').keypress(function(e) {
  if (e.which == 13) {
    togglePlayButton();
  }
});