Event Delegation

What UI pattern does this delegation code implement?
const menu = document.querySelector('.context-menu');
document.addEventListener('contextmenu', e => {
  const target = e.target.closest('[data-context]');
  if (!target) return;
  
  e.preventDefault();
  menu.style.left = `${e.clientX}px`;
  menu.style.top = `${e.clientY}px`;
  menu.dataset.for = target.dataset.context;
  menu.hidden = false;
  
  const close = () => {
    menu.hidden = true;
    document.removeEventListener('click', close);
  };
  document.addEventListener('click', close);
});
Next Question (20/20)