МОЙ ВОПРОС
Если пользовательское событие jQuery имеет пространство имен с двоеточием, например 'wpcf7:mailsent'
или 'wpcf7:submit'
, почему или как событие DOM NAME становится wpcf7mailsent
или wpcf7submit
?К ним как-то присоединяется какой-то процесс DOM?
БОЛЬШЕ КОНТЕКСТА
Контактная форма 7 Wordpress предоставляет несколько типов пользовательских событий DOM .Когда я смотрю на исходный код плагина, я пытаюсь понять, как эти имена создаются в DOM и откуда они берутся.
Список контактной формы 7 Пользовательские события DOM
- wpcf7invalid - Срабатывает, когда отправка формы Ajax успешно завершена, но письмо не было отправлено из-за наличия полей с неверным вводом.
- wpcf7spam - срабатывает, когда отправка формы Ajax успешно завершена, но письмо не было отправлено из-за возможной спам-активности.
- wpcf7mailsent - срабатывает приОтправка формы Ajax успешно завершена, и письмо было отправлено.
- wpcf7mailfailed - Срабатывает, когда отправка формы Ajax завершена успешно, но при отправке почты произошла ошибка.
- wpcf7submit - Срабатывает, когда отправка формы Ajax успешно завершена, независимо от других инцидентов.
Источник: wp-plugins / contact-form-7 Github repo
Код, который обрабатывает данные формы (я думаю):
$.fn.wpcf7InitForm = function() {
this.ajaxForm({
beforeSubmit: function(arr, $form, options) {
$form.wpcf7ClearResponseOutput();
$form.find('[aria-invalid]').attr('aria-invalid', 'false');
$form.find('img.ajax-loader').css({ visibility: 'visible' });
return true;
},
beforeSerialize: function($form, options) {
$form.find('[placeholder].placeheld').each(function(i, n) {
$(n).val('');
});
return true;
},
data: { '_wpcf7_is_ajax_call': 1 },
dataType: 'json',
success: $.wpcf7AjaxSuccess,
error: function(xhr, status, error, $form) {
var e = $('<div class="ajax-error"></div>').text(error.message);
$form.after(e);
}
});
Я заметилчасть:
success: $.wpcf7AjaxSuccess,
Внутри части $.wpcf7AjaxSuccess = function(data, status, xhr, $form) {... ...}
были следующие коды:
$(data.into).trigger('wpcf7:mailsent');
$(data.into).trigger('mailsent.wpcf7'); // deprecated
и
$(data.into).trigger('wpcf7:submit');
$(data.into).trigger('submit.wpcf7'); // deprecated