2012-06-11 13 views
5

Mam stronę internetową, nad którą pracuję z jQuery. Niepewne zachowanie niektórych elementów na mojej stronie: za każdym razem, gdy zostanie kliknięty przycisk, dowolny przycisk na stronie, strona zostanie odświeżona.Dlaczego przycisk powoduje przeładowanie całej mojej strony internetowej?

Strona musi w jakiś sposób uruchamiać kod, który odświeża stronę po każdym kliknięciu przycisku.

Jestem całkowicie zakłopotany, próbując dowiedzieć się, gdzie kod jest związany z obsługą kliknięcia, więc chciałbym wiedzieć, czy możliwe jest wyliczenie, w czasie wykonywania, listy handlerów dołączonych do przycisku .

Aktualizacja: Po przeczytaniu odpowiedzi podane poniżej, zmieniłem linię w mojej strony:

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

do tego:

<input type='button' id="btnSaveAndContinue" class="button" tabindex="290" value='Save and Continue' /> 
+0

jeśli jesteś na Google Chrome lub Safari Developer Tools pewnością pomóc z tym dużo. Wystarczy użyć Inspect Element. – Ryan

+3

Domyślnym zachowaniem przycisku jest przesłanie formularza, w którym on się znajduje. Jesteś pewien, że to się nie dzieje? –

+0

To bardzo dziwne, ponieważ w obecnej wersji programu WWW na serwerze produkcyjnym nie mamy tego problemu. Właśnie zauważyłem problem z nową wersją programu na moim serwerze dev. –

Odpowiedz

10

Jest to domyślne zachowanie przycisku. Jeśli chcesz go zmienić, zrobić coś takiego:

$("button selector").click(function(event) { 
    event.preventDefault(); 
}); 
+2

Albo jeszcze lepiej, 'preventDefault'. Zwrócenie wartości false powoduje również zatrzymanie propagacji, której nie należy wykonywać, chyba że faktycznie tego chcemy. –

+0

Dobre połączenie. Zaktualizowano, aby użyć 'preventDefault' zamiast' return false'. – robbrit

+0

+1 dla "preventDefault". Co więcej, jeśli rzeczywiście chcesz zatrzymać propagację, użyj 'stopPropagation' – WickyNilliams

0

Musisz przestać domyślne zachowanie dla zdarzenia z event.preventDefault() w zasięgu obsługi click.

Zobacz this

Powiązane problemy