2010-02-26 72 views
12

Tengo un problema que ni siquiera estoy seguro de qué buscar para corregirlo. Cuando presiono la barra espaciadora, toda la página se mueve hacia arriba (se desplaza hacia abajo): no quiero que esto suceda. Mi etiqueta body tiene un estilo de overflow:hidden, si eso tiene algo que ver con eso, por lo que la página no tendrá ninguna barra de desplazamiento. Normalmente soy bastante bueno en la ejecución de las técnicas preliminares de solución de problemas, pero en este caso ni siquiera sé por dónde empezar. ¿Cómo puedo detener este comportamiento?Al presionar la barra espaciadora se desplaza hacia abajo la página?

Información adicional: Estoy usando jQuery 1.4.2

+3

Es un comportamiento estándar en Firefox y quizás también en otros navegadores. Si está utilizando una biblioteca de JavaScript, podría sugerir una forma de anular esto ... ¿verdad? –

+1

Esa es una función incorporada (al menos en IE8, Firefox, Chrome, Safari y Opera), para permitir a los usuarios desplazarse hacia abajo sin tocar el mouse. –

+5

Solo una palabra de advertencia: cambiar el comportamiento esperado de un navegador simplemente porque no desea que funcione de esa manera en su sitio web podría provocar quejas entre las personas. –

Respuesta

18

Si no comen la pulsación de tecla que este es el comportamiento esperado en la mayoría de los navegadores. Lo uso todo el tiempo y me molesta muchísimo cuando no funciona en una página.

Pero si quieres comer la clave ...

window.onkeydown = function(e) { 
    return !(e.keyCode == 32); 
}; 
2

El comportamiento que usted describe es bastante estándar. Si está creando contenido que es más alto que la página, ¿por qué está ocultando algo de eso?

7

No es suficiente solo ocultar el desbordamiento; en realidad tiene que hacerlo no desbordamiento. Incluso si puede deshabilitar el comportamiento (comer la tecla presionada, poner el foco dentro de otro contenedor), el usuario aún podrá desplazarse por el teclado, arrastrando-seleccionando texto en la página, manteniendo presionado el botón central del mouse, etc. .. Depende realmente de su navegador, y siempre y cuando el contenido todavía sea técnicamente visible, es probable que tengan alguna forma de desplazarlo a la vista.

Es hora de volver a pensar en su diseño.

Cuestiones relacionadas