簡體   English   中英

畫布-addEventListener無法模擬按鍵

[英]Canvas - addEventListener not working simulating keypress

我在一個畫布游戲中具有以下addEventListener來控制鍵盤事件:

document.addEventListener("keydown", keyDown, true);
document.addEventListener("keypress", keyPress, true); 

下面的jQuery代碼模擬了啟動游戲的按鍵事件。

$("#new").click(function(event) {
  event.preventDefault(); // Stop the link click from doing anything.
  var ev = jQuery.Event("keypress"); // Build an event to simulate keypress.
  ev.which = 78; // Keycode for 'N' is 68
  ev.ctrlKey = false; // Control key is down.
  $(this).trigger(ev); // Fire!
});

如果我用鍵盤按“ N”鍵,則畫布游戲將正確啟動,但是當我單擊#new div時,什么也不會發生。

我的畫布元素:

<canvas width="500px" height="480px" tabindex="1" id="game"></canvas>

jQuery .trigger僅運行使用jQuery綁定的事件,而不運行addEventListener。

您需要使用

$(document).bind('keydown',function(){

要么

$(document).keydown(function(){

能夠使用jQuery trigger 全有或全無jQuery。

另外,您可以使用本機dispatchEvent ,但這很復雜,雜亂而不是jQuery。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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