Navegador cruzado que maneja la tecla “Enter” presionando con javascript

Tengo la siguiente muestra, que detecta fácilmente la presión de la tecla “Enter” y la maneja correctamente. Aquí está:

   keyCode example   $(document).ready(function () { $("#search-input").keyup(function (event) { event = event || window.event; if (event.keyCode == 13 || event.which == 13) { $("#search-button").click(); } }); $("#search-button").click(function () { var theUrl = "http://www.yahoo.com/" window.location = theUrl; }); });        

Esto realmente funciona para mí en todos los navegadores populares. El problema es que este código no funciona en mi entorno de producción en ningún navegador excepto en Firefox. En mi entorno de producción, el script también está integrado en la función $(document).ready y se encuentra en el archivo “main.js” separado. El modo de depuración mostró que, cuando ingreso letras o números en el campo de texto, el script se está ejecutando correctamente. Cuando presiono la tecla “Enter”, el progtwig ni siquiera entra en $("#search-input").keyup(function (event){ sección. Pero el texto desaparece del campo de texto, parece que la página se vuelve a cargar. Repito una vez más, que el problema se puede reproducir solo en el sitio de producción. En una página local separada, que mostré arriba, todo funciona bien.

¿Alguien sabe cuál es el problema?

Actualización : todas las claves se manejan normalmente, excepto Enter. Cuando $("#search-input").keyup(function (event){ Entrar, $("#search-input").keyup(function (event){ no se ejecuta, como si no hubiera eventos.

El problema se resuelve utilizando el siguiente código para manejar presionando la tecla “Enter”:

 $("#search-button").on('click', function () { var theUrl = "/search.aspx?search=" + $('#search-input').val(); window.location = theUrl; }); $('#search-input').on('keyup', function (e) { if (e.which == 13) $("#search-button").trigger('click'); }); 

Este código está integrado en la función $(document).ready .

    Intereting Posts