[英]Trigger Keyboard Click via Javascript
Jquery/Javascript 事件觸發器似乎沒有觸發活動元素。
我有一個播放/暫停按鈕,正在嘗試通過 Javascript 在它們之間切換。 當使用我的物理鍵盤並按下 Enter 鍵時,我看到它在它們之間切換。 當試圖通過代碼觸發它時,它似乎實際上並沒有做任何事情。
我嘗試過的幾件事:
jQuery.event.trigger({type: 'keyup', which : 13});
jQuery.event.trigger({type: 'keydown', which : 13});
document.activeelement.dispatchEvent(new KeyboardEvent('keypress',{'key':'enter'}));
我認為其中之一實際上就像輸入鍵並按下播放/暫停鍵。
有任何想法嗎?
要觸發特定的按鍵,請創建一個 jQuery keypress Event
,設置要模擬的鍵,並在您的 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();
直接在您想要模擬按鍵的位置。 不過,不要為此犧牲代碼的清晰度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.