Нет противоположного метода event.preventDefault()
, чтобы понять, почему вы сначала должны посмотреть на то, что event.preventDefault()
делает, когда вы его вызываете.
Под капотом, функция для protectDefault по сути вызывает возвратfalse, который останавливает любое дальнейшее выполнение.Если вы знакомы со старыми способами Javascript, было когда-то в моде использовать return false для отмены событий в таких вещах, как отправка формы и кнопки, используя return true (до того, как jQuery был даже рядом).
Как вывозможно, уже сработало на основании простого объяснения выше: противоположность event.preventDefault()
- ничто.Вы просто не предотвращаете событие, по умолчанию браузер разрешит событие, если вы не предотвращаете его.
См. Объяснение ниже:
;(function($, window, document, undefined)) {
$(function() {
// By default deny the submit
var allowSubmit = false;
$("#someform").on("submit", function(event) {
if (!allowSubmit) {
event.preventDefault();
// Your code logic in here (maybe form validation or something)
// Then you set allowSubmit to true so this code is bypassed
allowSubmit = true;
}
});
});
})(jQuery, window, document);
В приведенном выше коде вы заметите, что мы проверяем, имеет ли значение allowSubmit значение false.Это означает, что мы не допустим отправку нашей формы с использованием event.preventDefault
, а затем выполним некоторую логику проверки и, если мы довольны, установим значение allowSubmit в значение true.
Это действительно единственный эффективный способ сделать противоположностьevent.preventDefault()
- вы также можете попробовать удалить события, которые по сути достигли бы того же самого.