Este es mi HTML:
<div action="https://github.com/"> <div class="menu-bar-item"> <h1 class="menu-item-text">GitHub</h1> </div> </div>Y JavaScript:
$(document).on("click", "*[action]", (e) => { try { var attribute = $(e.target).attr("action"); alert(attribute) } catch(e){} }) Aquí, action del atributo a veces vuelve a sintonizar "indefinido". ¿Cómo lo arreglo?
Obtenga el currentTarget del evento en su lugar, que devuelve el elemento al que se ha adjuntado el detector de eventos:
$(document).on("click", "*[action]", (e) => { try { var attribute = $(e.currentTarget).attr("action"); alert(attribute) } catch (e) {} }) <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div action="https://github.com/"> <div class="menu-bar-item"> <h1 class="menu-item-text">GitHub</h1> </div> </div>