簡體   English   中英

通過Javascript觸發鍵盤點擊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM