gpt4 book ai didi

javascript - 在 addListener 中传递谷歌事件数据

转载 作者:行者123 更新时间:2023-11-29 17:59:09 26 4
gpt4 key购买 nike

我有可变数量的文本字段,我正在动态初始化 Google map 自动完成功能。

问题是每次触发 place_changed 事件时,我都需要确切地知道它是在哪个输入框上触发的。如何将此数据传递到我的 saveLocation 函数?

目前,事件 评估为未定义。

  initAutocomplete = function (element) {
autocomplete = new google.maps.places.Autocomplete(
/** @type {!HTMLInputElement} */(element), {});

autocomplete.addListener('place_changed', saveLocation);
},

saveLocation = function (event) {
console.log(event);
var place = autocomplete.getPlace();
},

最佳答案

可能的方法:

var initAutocomplete = function (element) {
var autocomplete = new google.maps.places.Autocomplete(element);
google.maps.event.addListener(autocomplete,
'place_changed',
function(){saveLocation.call(autocomplete,element)});
},

saveLocation = function (element) {
document.getElementsByTagName('code')[0]
.innerHTML=element.getAttribute('name');
var place = this.getPlace();

};

google.maps.event.addDomListener(window, 'load', function(){
var inputs=document.querySelectorAll('.pac');
for(var i=0;i<inputs.length;++i){
initAutocomplete(inputs.item(i));
}
});
<code></code><br/>
<input class="pac" name="field1">field1<br/>
<input class="pac" name="field2">field2<br/>
<input class="pac" name="field3">field3<br/>

<script src="https://maps.googleapis.com/maps/api/js?v=3&libraries=places"></script>

关于javascript - 在 addListener 中传递谷歌事件数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36385559/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com