Вопрос по jquery, javascript, events – Почему кнопка вызывает перезагрузку всей моей веб-страницы?

5

У меня есть веб-страница, над которой я работаю с jQuery. Я получаю странное поведение от некоторых элементов на моей странице: каждый раз, когда нажимается какая-либо кнопка, любая кнопка на странице, страница обновляется.

На странице должен быть какой-то код, который перезагружает эту страницу при каждом нажатии кнопки.

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

Update: Прочитав ответы, приведенные ниже, я изменил строку на своей странице:

<button id="btnSaveAndContinue" class="button" tabindex="290">Save and Continue</button>

к этому:

<input type='button' id="btnSaveAndContinue" class="button" tabindex="290" value='Save and Continue' />
Поведение кнопки по умолчанию - отправить форму, в которой она находится. Вы уверены, что это не то, что происходит? James Montagne
Если вы используете Google Chrome или Safari, инструменты разработчика определенно помогут в этом. Просто используйте Inspect Element. Ry-♦
Если это кнопка, вызывающая отправку, вы можете изменить тип кнопки с & quot; представить & quot; на "кнопку". zybroxz
Это очень странно, потому что в текущей версии веб-программы на рабочем сервере у нас нет этой проблемы. Я только что заметил проблему с новой версией программы на моем dev-сервере. Daniel Allen Langdon

Ваш Ответ

2   ответа
9

сделайте что-то вроде этого:

$("button selector").click( function(event) {
  event.preventDefault();
});
+1 заpreventDefault, Еще лучше, если вы действительно хотите остановить распространение, используйтеstopPropagation
Или еще лучше,preventDefault, Возвращение false также останавливает распространение, что вы не должны делать, если не хотите этого.
Хороший звонок. Обновлено для использованияpreventDefault вместоreturn false.
0

event.preventDefault() в вашемclick обработчик.

Увидетьэтот

Похожие вопросы