我的问题是这个问题的连续性:Google Autocomplete API - format output result
提供的解决方案只能解决一个问题。如果您确实进行了聚焦然后使事件模糊,而没有从下拉列表中选择任何位置,则输入的文本颜色将保持白色。
我试图避免模糊事件,所以我想将所有着色事件都放置在place_changed侦听器中,如下所示:
google.maps.event.addListener(autoComplete, 'place_changed', function () {
var place = autoComplete.getPlace();
el.css('color', '#fff');
el.val(place.name);
setTimeout(function () {
el.blur();
el.css('color', '');
}, 100);
});
这似乎无法正常工作。我的问题:是否有选择地阻止输入后自动填充输入内容?
我尝试的另一件事是通过在聚焦时存储输入值来检测输入值是否已更改,并在模糊时进行验证,例如:
el.bind('blur', function () {
if (el.data('oldValue') != el.val())
el.css('color', '#fff');
});
el.bind('focus', function () {
el.data('oldValue', el.val());
});
这项工作正常,直到您尝试搜索较短的地址然后选择较长的地址,例如搜索“ Jaars”(美国国家/地区),然后将焦点放在相同的输入上并选择“ Jaars Road”,该文本将闪烁。 / p>