2012-07-04 3 views
1

У меня есть html-страница с кнопками и т. Д., Которым я назначаю прослушиватели событий. Всякий раз, когда нажимается одна из кнопок, страница возвращается в исходное состояние, как если бы браузер был закрыт и снова открыт. Поэтому, если у меня есть текстовые поля, в которые я ввел некоторую информацию, они будут очищены, как только нажимается кнопка, даже если ее прослушиватель событий ничего не делает.html-javascript: страница обновляется всякий раз, когда происходит событие

Аналогично, если я включил этот прослушиватель событий в html, <body onload="pageLoaded();">, функция pageLoaded() будет вызываться всякий раз, когда нажимается кнопка.

Почему это происходит, и как я могу предотвратить его?

ответ

1

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

eventObject.preventDefault(); 

См. the documentation.

1

Возможно, ваш прослушиватель событий нажатия был добавлен к ссылке или кнопке в форме. Если это так, вы можете добавить return false конец слушателя, чтобы предотвратить выполнение по умолчанию.

var link = $("#mybutton"); 
link.click(function() { 
    alert("clicked"); 
    return false; 
}); 
0

Установка кнопки «кнопка» решит эту проблему. Тип по умолчанию - «отправить», который, как сообщали другие, предоставит форму.

<button type="button">Button</button>