【发布时间】:2020-02-10 07:37:52
【问题描述】:
thisKey.addEventListener(
'mousedown',
(function(_temp) {
return function() {
fnPlayKeyboard({
keyCode: _temp
});
}
})(reverseLookup[n + ',' + i])
);
看到这行代码,我很困惑 addEventListener 的第二个参数中的函数是如何工作的。我知道总体目标是在单击键盘上的某个键时播放正确的声音。
在其余代码中,fnPlayKeyboard 将事件 e 作为参数,并根据 e.keyCode 播放音符。 reverseLookup 应该查找一个给定音符的 keyCode,这里用 n+','+i 表示。
我猜代码是以某种方式将 mousedown 事件转换为 keydown 事件,但不确定它是如何做到的。令我特别困惑的是语法,因为似乎有一个 double ()() 作为 addEventListener 的第二个参数。
【问题讨论】:
标签: javascript closures dom-events