结合两个函数PureJS
如何将这两个功能合二为一?现在我有两个功能可以做同样的事情:关闭站点上的搜索窗口 - 按 Esc 和按某个 .
searchOverlay.addEventListener('keydown', function(event){
if(event.key === "Escape"){
body.classList.remove('search-opened');
event.stopPropagation();
}
});
searchOverlay.addEventListener('click', function (e) {
if (e.target.closest('.search-inner') === null) {
body.classList.remove('search-opened');
e.stopPropagation();
}
});
}
回答
您甚至可以简单地创建一个支持这两种情况的事件侦听器
function removeSearchOpenedClass(event) {
if (event.key === "Escape" || !event.target.closest(".search-inner")) {
body.classList.remove('search-opened');
event.stopPropagation();
}
}
searchOverlay.addEventListener('keydown', removeSearchOpenedClass)
searchOverlay.addEventListener('click', removeSearchOpenedClass)