Я реализую функцию типа «Платежный адрес совпадает с адресом», который при установке флажка заполняет поля на основе других полей.Работает отлично.
Функция для события нажатия ..
if ($(this).attr('checked')) {
// copy address fields to billing fields
}
else{
// clear fields
}
Теперь я использую событие (плагин горячих клавиш jquery) для автоматического заполнения всех полей в форме, чтобы я мог легкои быстро демо и проверить форму.Вместо мошенничества и заполнения полей выставления счетов в качестве полей адреса, которые я хочу использовать
$("#CheckboxForAutofillId").trigger('click');
Это не работает при первом запуске события, как в приведенной выше функции, которая вызывает его, проверяет наличиеАтрибут проверен, однако триггер («щелчок»), по-видимому, вызывает событие ДО того, как он изменит атрибут.
Что означает для меня правильную имитацию, я должен сделать это ..
$("#CheckboxForAutofillId").attr("checked", "checked"); // sets checked
$("#CheckboxForAutofillId").trigger('click'); // fires event then 'unchecks'
$("#CheckboxForAutofillId").attr("checked", "checked"); // rechecks
Читая страницу jquery для триггера, я не заметил, что это упомянуто, и я не удосужился покопаться в источнике, чтобы увидеть, что на самом деле происходит, но мне кажется, что в идеале событие триггера должно устанавливать 'флажок'атрибут перед запуском самого события, поскольку это лучшая симуляция человека, отмечающего флажок?
Я что-то упустил?