Tengo algunos enlaces dentro de div. Si los usuarios hacen clic en cualquier área del div, debería hacer algo. Pero debería hacer algo más si los usuarios hacen clic en un enlace.
¿Cómo puedo saber si el clic es en un enlace? Por cierto, no puedo usar la función onclick() en el enlace.
<html> <head> <script src="https://code.jquery.com/jquery-3.5.0.js"></script> </head> <body> <div class="mydiv"> do something<br /> <a href="#"> do other</a><br /> do something<br /> </div> <script> $(document).ready(function () { $('.mydiv').click(function () { var ahref = $(this).attr('href'); if (ahref == null) { alert('do something'); } else { alert('do other'); } }); }); </script> </body> </html>Puede usar la propiedad nodeName para verificar si el elemento en el que se hizo clic tiene a etiqueta o no.
<html> <head> <script src="https://code.jquery.com/jquery-3.5.0.js"></script> </head> <body> <div class="mydiv"> do something<br /> <a href="#"> do other</a><br /> do something<br /> </div> <script> $(document).ready(function () { $('.mydiv').click(function (e) { if (e.target.nodeName == 'A') { alert('do other'); } else { alert('do something'); } }); }); </script> </body> </html>https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeName