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