我一直在尝试让自动完成功能与类名一起使用,尽管自从我这样做以来,我无法再添加事件侦听器了?有人有解决方案吗?
这是我的代码
function InitiliazeGoogleSearch() {
var input = document.getElementsByClassName('js-autocomplete');
for (i = 0; i < input.length; i++) {
autocomplete = new google.maps.places.Autocomplete(input[i]);
}
google.maps.event.addListener(autocomplete, 'place_changed', function () {
if(!$('.js-main-filter_wrapper').css('display','block')) {
$('.js-main-filter_wrapper').slideToggle();
}
});
}
在循环中,您正在重新分配autocomplete
变量,但您只是将侦听器附加到最后一个变量,因为它在循环之外。要为每个侦听器配备一个侦听器,您需要在循环中使用它。
function InitiliazeGoogleSearch() {
var input = document.getElementsByClassName('js-autocomplete');
for (var i = 0; i < input.length; i++) {
autocomplete = new google.maps.places.Autocomplete(input[i]);
google.maps.event.addListener(autocomplete, 'place_changed', function() {
if (!$('.js-main-filter_wrapper').css('display', 'block')) {
$('.js-main-filter_wrapper').slideToggle();
}
});
}
}