我的网页上有"geocomplete“的文本输入。每个keyPress事件都会向GoogleMaps接口发送请求。我想改变这一行为,以每3个字符(而不是每个字母)发送请求的方式,或设置请求之前的延迟。
我尝试使用geocode:beforegeocomelete_search事件,但它不起作用。
$("input").geocomplete()
.bind("geocode:beforegeocomelete_search", function(event, results){
if ( $("input").val().length < 4) {
throw "At least 3 characters required for request sending";
}
});你对这件事有什么想法吗?
发布于 2019-06-05 01:49:55
不确定您使用的是哪个版本的geocomplete。https://github.com/ubilabs/geocomplete/上的版本有一个trigger(),当input满足length要求时,您可以调用它。
注意:由于某些原因,外部库似乎没有加载到代码片段中。
let geo = $('.geocomplete');
geo.geocomplete();
geo.on('input', function() {
let el = $(this);
if (el.val().length > 3) {
el.trigger("geocode");
}
});<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://raw.githubusercontent.com/ubilabs/geocomplete/master/jquery.geocomplete.min.js"></script>
<input class="geocomplete" />
https://stackoverflow.com/questions/56448223
复制相似问题