Вывод на консоль появляется в течение одной миллисекунды?

0

Я работаю с jQuery, и я реализовал обработчик нажатия кнопки. Чтобы проверить, я установил консольный вывод с содержимым "test". Однако при нажатии на кнопку выход появляется в консоли, но только на короткое мгновение, прежде чем снова исчезнуть. Это повторяется при каждом нажатии кнопки.

Код JS:

$(document).ready(function () {
$("#go").click(function () {
    console.log("test");
});
});

Код HTML:

<form class="navbar-form navbar-right">
         <button id="go" class="btn btn-default">Go</button>
</form>

Есть ли этому решение?

Теги:
console

1 ответ

1
Лучший ответ

Это потому, что кнопка отправляет форму и перезагружает всю страницу в вашем браузере. Отмените действие по умолчанию этой кнопки, вернув false из обработчика click если вы хотите остаться на одной странице и продолжить выполнение кода javascript:

$(document).ready(function () {
    $("#go").click(function () {
        console.log("test");
        return false;
    });
});

Если вы не отмените действие по умолчанию, браузер просто перенаправляет, не оставляя времени на запуск каких-либо файлов javascript.

  • 0
    Это исправило это, хотя он работал нормально с другим моим проектом, который использует ту же инфраструктуру. Wierd.
  • 1
    Нет, это не могло сработать. Возможно, вы использовали <input type="button"> в этом вашем другом проекте, который, очевидно, не то же самое, что кнопка отправки формы и который фактически не отправляет форму. Это довольно легко увидеть, что происходит. Просто откройте вкладку сети вашей консоли отладки javascript и посмотрите, есть ли HTTP-запрос, отправленный на сервер после нажатия на кнопку.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню