intervalo con evento onclick dentro de una etiqueta

4 minutos de lectura

avatar de usuario
ben

Código de muestra

<a href="https://stackoverflow.com/questions/10412883/page" style="text-decoration:none;display:block;">
    <span onclick="hide()">Hide me</span>
</a>

Desde el a la etiqueta está sobre el lapso no es posible hacer clic en ella. lo intento índice z pero eso no funcionó

  • Este es solo un código de muestra simple: D, hay otras cosas dentro de la etiqueta. Quiero ocultar la cosa del agujero.

    – ben

    2 de mayo de 2012 a las 11:38

  • Entonces desea ocultar el lapso al hacer clic en el hipervínculo. ¿Tengo razón?

    – duncanportelli

    2 de mayo de 2012 a las 11:38

  • noo, la función ocultar ocultará el agujero de una etiqueta. Hay un bucle que muestra 10 . Y uso .closest().fadeOut(); pero no puedo hacer clic en la etiqueta de intervalo debido a la etiqueta a

    – ben

    2 mayo 2012 a las 11:41


  • da alguna animación para tu respuesta

    – Srini

    2 mayo 2012 a las 14:50

  • Te amo amigo, esa es una pregunta increíble.

    – AmerllicA

    12 de noviembre de 2017 a las 14:21

avatar de usuario
Marca

<a href="http://the.url.com/page.html">
    <span onclick="hide(); return false">Hide me</span>
</a>

Esta es la solución más fácil.

  • Funciona genial. No es necesario establecer el estilo para una etiqueta

    – Ondra

    1 de febrero de 2014 a las 10:29

  • Cualquier idea no funciona si la función que está siendo disparada por el onclick se define dentro window.onload?

    – John R. Perry

    2 de febrero de 2017 a las 1:47

  • Encantadora solución, incluso eso no necesita event.stopPropagation();

    – AmerllicA

    12 de noviembre de 2017 a las 14:22

  • ¡Funciona bien para mí también! ¿Podría alguien explicarme por qué esta solución realmente funciona?

    – Ilias Mertzanidis

    4 de enero de 2021 a las 16:14

avatar de usuario
Nauphal

Cuando haces clic en hide meambas cosas a y lapso los clics se activan. Dado que la página está redirigiendo a otra, no puede ver el funcionamiento de hide()

Puedes ver esto para más aclaraciones.

http://jsfiddle.net/jzn82/

Encuentra la respuesta.

He usado algunos estilos para lograr esto.

<span 
   class="pseudolink" 
   onclick="location='https://jsfiddle.net/'">
Go TO URL
</span>

.pseudolink { 
   color:blue; 
   text-decoration:underline; 
   cursor:pointer; 
   }

https://jsfiddle.net/mafais/bys46d5w/

avatar de usuario
Srini

usar en el mouse arriba

prueba algo como esto

        <html>
        <head>
        <script type="text/javascript">
        function hide(){
        document.getElementById('span_hide').style.display="none";
        }
        </script>
        </head>

        <body>
        <a href="https://stackoverflow.com/questions/10412883/page" style="text-decoration:none;display:block;">
        <span   onmouseup="hide()" id="span_hide">Hide me</span>
        </a>
        </body>
        </html>

EDITAR:

          <html>
        <head>
        <script type="text/javascript">
        $(document).ready(function(){
         $("a").click(function () { 
         $(this).fadeTo("fast", .5).removeAttr("href"); 
        });
        });
        function hide(){
        document.getElementById('span_hide').style.display="none";
        }
        </script>
        </head>

        <body>
        <a href="https://stackoverflow.com/questions/10412883/page.html" style="text-decoration:none;display:block;" onclick="return false" >
        <span   onmouseup="hide()" id="span_hide">Hide me</span>
        </a>
        </body>
        </html>

No tienes que usar una etiqueta para hacer clic en él. onclick evento ya hacer esto. solo da un id a su lapso y ocultarlo con javascript como este.

<span id="should_hide" onclick="hide()">Hide me</span>


<script>
function hide(){
document.getElementById("should_hide").style.display = 'none';
}
</script>

avatar de usuario
Jordán

Usaría jQuery para obtener los resultados que está buscando. No necesitaría usar una etiqueta de anclaje en ese punto, pero si lo hiciera, se vería así:

<a href="https://stackoverflow.com/questions/10412883/page" style="text-decoration:none;display:block;">

<span onclick="hide()">Hide me</span>

</a>

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js" /
<script type="text/javascript">
$(document).ready(function(){
     $('span').click(function(){
           $(this).hide();
     }
}

avatar de usuario
duncanportelli

Podrías usar jQuery

http://jsfiddle.net/Bdqv7/

  • si edito su código y agrego una ruta en el href cuando se hace clic en el intervalo, obtengo {“error”: “Utilice la solicitud POST”}

    – ben

    2 de mayo de 2012 a las 13:16

  • entonces disculpa no entiendo tu pregunta

    – duncanportelli

    2 de mayo de 2012 a las 13:24


  • ¿Qué es lo que realmente desea cuando hace clic en el hipervínculo? Te estoy redirigiendo a google. Todo lo que tienes que hacer es redirigirlo a una página de tu elección.

    – duncanportelli

    2 de mayo de 2012 a las 13:25

  • noo mira hay div que está dentro de una etiqueta. si el usuario hace clic en el div, lo redirigirá a la página del PM, pero en ese div hay una etiqueta de intervalo y cuando se hace clic, se eliminará el mensaje. Pero como todos están dentro de la etiqueta, no funciona. .

    – ben

    2 de mayo de 2012 a las 13:28

¿Ha sido útil esta solución?