Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 何时使用KeyboardEvent vs addEventListener进行键控_Javascript_Events_Closures - Fatal编程技术网

Javascript 何时使用KeyboardEvent vs addEventListener进行键控

Javascript 何时使用KeyboardEvent vs addEventListener进行键控,javascript,events,closures,Javascript,Events,Closures,我见过添加事件侦听器的示例,创建/调度KeyboardEvent和调用addEventListener。是否有理由同时做这两件事(可能是旧的IE版本)?或者仅仅是addEventListener就足以支持所有浏览器+>=IE11 const keyboard = new KeyboardEvent('keyup', { view: window, bubbles: true, cancelable: true }); document.addEventListener('keyup', _cl

我见过添加事件侦听器的示例,创建/调度KeyboardEvent和调用addEventListener。是否有理由同时做这两件事(可能是旧的IE版本)?或者仅仅是
addEventListener
就足以支持所有浏览器+>=IE11

const keyboard = new KeyboardEvent('keyup', { view: window, bubbles: true, cancelable: true });

document.addEventListener('keyup', _closureMethod, false);

document.dispatchEvent(keyboard);

您描述的是两件不同的事情:

  • keyup
    上使用
    addEventListener
    时,您需要等待按下键盘按钮触发
    keyup
    事件
  • 创建一个
    keyboard事件
    并分派它模拟一个
    keyup
    事件。你不需要一个事件监听器,因为它是一个人工事件

你在哪里见过这个?这对我来说像是一种折磨。他试图用
dispatch(newkeyboardevent(…)
模拟按键,或者更精确地说模拟按键的按键部分。我不确定,为什么他不简单地调用处理程序,比如
\u closurethod()。这与简单地添加eventListener和浏览器兼容性无关;他在这里尝试其他东西。我只在我记忆中使用addEventListener。似乎足够了。旧浏览器是主观的。在我看来,任何比IE9更古老的东西都应该被视为古代教科书。所以我不在乎有没有人支持更老的东西。