以下代码非常完美。
如果按下ESC
键function
,则会触发closeModal。
window.addEventListener("keydown", function(e) { if (e.keyCode == "27") { closeModal(); }} );
我必须缺少重要的知识,因为从技术的角度来看,我不确定keydown
如何知道创建然后将e
参数发送给函数。 keydown
如何知道在任何地方发送e
?
作为使用click
的代码中的比较,不发送或要求参数。我知道函数不是为了接受一个参数而编写的,但我认为click
无论如何都不会创建或发送参数。如果它确实如何知道到达它旁边的功能?也许我对所有这些都不对。
document.getElementById("portfolio-large").addEventListener("click", closeModal);
答案 0 :(得分:2)
答案 1 :(得分:1)
该事件由浏览器创建。
因此,当您将监听器附加到窗口对象并触发该事件时,浏览器会创建该事件并将其传递给您的函数。它适用于任何事件驱动的操作,包括单击。
https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener