SyntaxError en "función xy () {...}"?

¿Cómo puedo solucionar el siguiente error de javascript? Este es un controlador para una página ASP.NET para deshabilitar las devoluciones de datos cuando se presiona la tecla Intro:

        <script type="text/javascript">
            function document.onkeydown() {

                if (event.keyCode == 13) {
                    event.returnValue = false;
                    event.cancel = true;
                }
            }
        </script>

preguntado el 03 de mayo de 12 a las 20:05

Aprenda a usar las herramientas disponibles, como jsfiddle, la consola web, JSLint, etc. Este problema debemos han sido fácilmente identificables. -

2 Respuestas

Tenga en cuenta que document.onkeydown no es un nombre de función válido. Probablemente querías hacer esto:

document.onkeydown = function(ev) {
  if (ev.keyCode == 13) {
  // ...
}

O mejor:

document.addEventListener('keydown', function(ev) {
  if (ev.keyCode == 13) {
  // ...
});

contestado el 03 de mayo de 12 a las 20:05

solo como una nota al margen ... debería ser document.addEventListener('keydown', function() { Creo - Tobias Krogh

Probablemente deberías agregar event argumento a cada una de las variantes. - Visión

Para agregar a la respuesta de maerics, para obtener acceso al evento, lo necesita como argumento ...

document.addEventListener( 'keydown', function( event ) {
    console.log( event, event.keyCode );
    if (event.keyCode == 13) {
        event.returnValue = false;
        event.cancel = true;
    }
});

contestado el 03 de mayo de 12 a las 20:05

Será mejor que uses e en lugar de event en el cuerpo de la función. - Visión

¡Do! Mi error. Perdí la carrera a lo grande aquí. ¡Gracias! - Sic1

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.