首页 > 解决方案 > 使用 JS 在旧版浏览器中触发 KeyDown 事件

问题描述

    export const triggerKey = (k) => {
  let key = '';
  let keyCode = 0;
  if (k === 'down') {
    key = 'ArrowDown';
    keyCode = 40;
  } else if (k === 'up') {
    key = 'ArrowUp';
    keyCode = 38;
  } else if (k === 'right') {
    key = 'ArrowRight';
    keyCode = 39;
  } else if (k === 'left') {
    key = 'ArrowLeft';
    keyCode = 37;
  } else {
    return null;
  }
  window.dispatchEvent(new KeyboardEvent('keydown', {
    key, keyCode,
  }));

  return null;
};

此功能应该触发 keydown 事件,并且在 chrome 最新版本上运行良好。但这不受 chrome 旧版本的支持。如何在旧浏览器上触发相同的功能?

标签: javascriptreactjsdomcross-browser

解决方案


推荐阅读