我的网页上输入了带有“ geocomplete”的文字。每个keyPress事件都会向GoogleMaps API发送请求。我想通过每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";
}
});
您对此有任何想法吗?
答案 0 :(得分:0)
不确定您使用的是哪个版本的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" />