2012-05-11 11 views
10

Estamos usando un programa de arranque para uno de los proyectos y tenemos un problema con el complemento de información sobre herramientas que se proporciona. En realidad, no es un error en el arranque pero se crea un problema con la situación en que lo estamos usando.Tooltip permanece a veces en la página del elemento dentro del deslizante div

Tenemos una barra deslizadora que se desliza dentro del contenido div. Y botones para ocultar/mostrar el efecto con información sobre herramientas. El efecto deslizante basado en la diapositiva jQuery UI.

La cuestión es:

Cuando hacemos clic en el botón de la barra lateral ocultar, y al mismo tiempo se mueve el ratón fuera del botón activable en el momento de animación de diapositivas, a continuación, algunos momentos la información sobre herramientas no significa que se oculta, y se queda allí en la página.

Esto ocurre también en la barra lateral de la demostración también. Y cuando sucede, se ve muy mal y con errores.

¿Cómo podemos solucionar esto?

Respuesta

19

contestadas en el foro de arranque de Richard (https://github.com/r1ch0)

Sólo ocultar manualmente la información sobre herramientas cuando se hace clic en el botón, antes de desencadenar la animación de diapositivas.

 

$('#button').on('click', function() { 
    $(this).tooltip('hide') 
    $('#sidebar').slide() // replace with slide animation 
}) 
 

Copiado de: https://github.com/twitter/bootstrap/issues/3446

publicadas aquí sólo porque alguien más lo puede encontrar.

+0

Gracias por esta solución. ¿Hay alguna manera de lograr un efecto similar sin javascript, simplemente con HTML y CSS? –

+0

@ThibaudClement Me alegra saber que es útil. No, no puedo encontrar ninguna solución solo con HTML y CSS. – Krunal

+1

para obtener un efecto global esto se puede utilizar: '$ ('cuerpo'). On ('clic', '*', función() { $ (esto).información sobre herramientas ('ocultar') }); ' – Exlord

1

Si está utilizando la punta de la herramienta de arranque, entonces ¿qué hay de la adición de una opción de retardo:

jQuery('#example').popover(delay: { show: 100, hide: 100 }) 


Si la punta de la herramienta es como de una etiqueta alt de una imagen, a continuación, utilizar jQuery para eliminarlo

<script type="text/javascript"> 
jQuery(document).ready(function() { 
    jQuery("img").removeAttr("alt"); 
}); 
</script> 
3

Utilicé la contribución de Krunal (+1 por cierto), eso me ayudó mucho pero no resolvió completamente el problema.
La información sobre herramientas desaparece cuando hago clic en el botón, pero regresa y se atasca nuevamente cuando mi mouse se mueve sobre él, hasta que hago clic en otro lugar.

Así que me di cuenta de que la información sobre herramientas aparece mientras se cierne , y también mientras se centra un elemento.
Finalmente escribí esto:

$('button').on('click', function() { 
    $(this).blur() 
}) 

y funciona bien.
Gracias.

+0

Perfecto: esto solucionó un problema que tenía cuando la información sobre herramientas estaba oculta, pero aún ocupaba espacio y no permitía que los elementos debajo de ella registraran los clics correctamente. – Kevin

Cuestiones relacionadas