Lorem ipsum

<body>
      <table data-element="table">
          <tr data-element="tr">
              <td data-element="td">
                  <p data-element="p">
                      Clicca <b data-element="b">QUI</b> per vedere gli elementi che ricevono l'evento
                  </p>
              </td>
          </tr>
      </table>
      <hr /> <br />
      <p id="results"></p>
  </body>
/* No css */
function logClick(elemento) {
      document.getElementById('results').innerHTML += "Elemento che ha ricevuto l'evento: " + elemento + "<br>";
  }
  const body = document.querySelector('body');
  const results = document.getElementById('results');
  
  body.addEventListener('click', function (event) {// il listener lo mettiamo solo sul body anche se cliccheremo su un elemento interno
      results.innerHTML = "";
      let element = event.target; // variabile inizializzata con l'elemento esatto che è stato cliccato
      console.log('element: ', element);
      while (element && element !== document.body.parentElement) {
          const elementName = element.getAttribute('data-element');
          if (elementName) {
              logClick(elementName);
          } else if (element.tagName.toLowerCase() === 'body') {
              logClick('body');
          }
          element = element.parentElement; //risalita verso l'alto nel DOM
      }
  });