Кросс-браузерная обработка нажатия клавиши «Ввод» с использованием JavaScript

У меня есть следующий пример, который легко обнаруживает нажатие клавиши «Ввод» и обрабатывает его правильно. Вот:

<!DOCTYPE html>
<html>
<head>
    <title>keyCode example</title>
    <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
    <script type="text/javascript">

        $(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;
            });
        });
    </script>
</head>

<body>
    <input id="search-input" name="search" type="text"/>
    <button id="search-button" type="button" alt="Search">Search</button>
</body>
</html>

Это действительно работает для меня в любом популярном браузере. Проблема в том, что этот код не работает в моей производственной среде ни в одном браузере, кроме Firefox. В моей производственной среде скрипт также встроен в$(document).ready Функция и находится в отдельном файле "main.js". Режим отладки показал, что при вводе букв или цифр в текстовое поле скрипт работает правильно. Когда я нажимаю клавишу «Ввод», программа даже не заходит в$("#search-input").keyup(function (event){ раздел. Но текст исчезает из текстового поля, кажется, что страница перезагружается. Еще раз повторяю, что проблему можно воспроизвести только на производственной площадке. На отдельной локальной странице, которую я показал выше, все работает отлично.

Кто-нибудь знает в чем проблема?

Обновить: Все ключи обрабатываются нормально, кроме Enter. Когда я нажимаю Enter,$("#search-input").keyup(function (event){ не работает, как будто никаких событий не произошло.

Ответы на вопрос(1)

Ваш ответ на вопрос