Я немного новичок javascript. Я просто потратил 3 часа на обход стека, пытаясь найти общий ответ на простую проблему. Честно говоря, я даже не уверен, что мне нужно искать, чтобы решить мою проблему.
У меня есть javascript, который я использую, чтобы связать автозаполнение адреса мест в Google с входом, этот вход был перемещен в всплывающее окно, которое не добавляется в DOM, пока не будет нажата кнопка, поэтому теперь привязка не выполняется.
Как мне изменить JS, чтобы он выполнялся после загрузки всплывающего окна?
Новое всплывающее окно имеет CSS ID "elementor-popup-modal-97".
function bind_autocomplete(){
// Bind the field based on element ID
autocomplete = new google.maps.places.Autocomplete( document.getElementById(LAA_search_field_id), {types: ['geocode']});
autocomplete.setFields(['address_component']);
autocomplete.addListener('place_changed', fillInAddress);
}
function fillInAddress() {
var componentForm = {
street_number: LAA_search_field_street_number,
route: LAA_search_field_street_name,
locality: LAA_search_field_suburb,
administrative_area_level_1: LAA_search_field_state,
postal_code: LAA_search_field_postcode
};
var place = autocomplete.getPlace();
for (var i = 0; i < place.address_components.length; i++) {
var addressType = place.address_components[i].types[0];
if (componentForm[addressType]) {
var val = place.address_components[i]["short_name"];
if (addressType=="route" && LAA_strip_street_type == "yes") {
var lastIndex = val.lastIndexOf(" ");
val = val.substring(0, lastIndex);
}
document.getElementById(componentForm[addressType]).value = val;
}
}
}
jQuery(window).load(function(){
bind_autocomplete();
});
Я не уверен, стоит ли обновлять autocomplete = new google.maps.places.Autocomplete( document.getElementById(LAA_search_field_id), {types: ['geocode']});
, чтобы каким-то образом нацеливать идентификатор, даже если он еще не загружен (это вообще возможно), или я должен обернуть bind_autocomplete();
в вызов, который определяет, было ли добавлено #elementor-popup-modal-97
в DOM?
Я ценю любую помощь.
Приветствия,
Джем ie