JQuery разъяснение относительно предотвращение дефолта - PullRequest
4 голосов
/ 16 сентября 2011

http://api.jquery.com/event.preventDefault/

"Если вызывается этот метод, действие по умолчанию для события не будет инициировано."

"действие по умолчанию" означает перенаправление людей с другой страницы, когдащелкните гиперссылку, насколько я заметил в примере кода.

есть ли другое применение этой функции?

как она взаимодействует с формами?

Ответы [ 4 ]

4 голосов
/ 16 сентября 2011

Как вы сказали, preventDefault предотвращает запуск события по умолчанию для события. Действие события по умолчанию зависит от типа события и цели события.

Например, если preventDefault использовался в обработчике события щелчка для флажка, флажок не станет отмеченным при щелчке. Если бы он использовался в обработчике событий keydown для ввода текста, нажатая клавиша не была бы записана в значение ввода. Если бы он использовался в обработчике событий submit для формы, это предотвратило бы отправку формы.

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

2 голосов
/ 16 сентября 2011

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

$('#form').submit(function(e) {
  alert('Handler for .submit() called.');
  e.preventDefault();
});

Вызов e.preventDefault() предотвратит отправку формы, поскольку это событие по умолчанию, которое обычно происходит при отправке формы.

1 голос
/ 16 сентября 2011

preventDefault() предотвращает любые действия браузера по умолчанию или около того для указанного события.

Существует множество практических применений preventDefault(), я кратко изложил некоторые из них для вас.В этом разделе вы также найдете ответ на свой вопрос о формах.

Он запрещает:

  • Отправка формы при нажатии кнопки отправки
  • Отправка формы при нажатии клавиши ввода
  • Иногда это также может предотвратить прокрутку
  • Действия, выполняемые нажатием клавиш.
  • Меню браузера правой кнопкой мыши
  • Открытие новых вкладок при нажатии средней кнопки на ссылке
  • Открытие ссылок при нажатии левой кнопки, как вы упомянули,

А их много

1 голос
/ 16 сентября 2011

Он запрещает действие элемента по умолчанию, каким бы оно ни было.

В случае форм и входных данных, в ответ на щелчок или тому подобное, это предотвратит проверку переключателя или флажка, это предотвратит отправку формы (или любое другое действие было указано) при нажатии * 1003. * кнопка.

...