为什么我的js监听器在点击时工作而不是在自动完成字段中输入?

时间:2016-08-03 19:02:53

标签: javascript jquery google-maps autocomplete geocomplete

我正在使用此包作为地方的自动填充字段:

https://ubilabs.github.io/geocomplete/

当用户开始在表单输入字段中输入时,autosuggestions将出现在下面的列表中。当用户使用鼠标选择一个地方点击一切正常。

如果字段在开始时为空并且用户开始键入地点并按Enter键,则该地点将显示在输入字段中。

如果字段在开始时不为空,但用户稍微更改了名称并按下输入,则自动完成建议不会出现在输入字段中。我希望它也会出现在输入字段中,但这不是我现在最大的问题(如果你知道如何解决这个问题,我很高兴知道)。

如果用户按下向下选择按钮然后按下输入一切正常。

当用户以空字段开头,键入地名然后按Enter键,然后自动完成表单将包含所选位置,但下面的函数将不会被调用,而当用户点击时它会被调用结果或当用户按下向下按钮(突出显示结果)然后按下回车键。

请注意,在脚本中:

  

jquery.geocomplete.js

Martin Kleppe写的我们可以设置:

  var defaults = {
    bounds: true,
    country: null,
    map: false,
    details: false,
    detailsAttribute: "name",
    detailsScope: null,
    autoselect: true,
    location: false,

autoselect:如果用户以空字段开头,则似乎只有true,并且此设置的其他问题似乎是它仅使用第一个建议填充字段,但不处理相同的建议当用户点击建议或使用选择器突出显示所需建议然后按回车键时的方式。

我的问题:当我点击自动填充建议时为什么调用以下函数?为什么不按下回车键(使用自动选择)?当用户按下回车键时,如何确保调用以下功能?

$(function() {

$("#from").geocomplete().bind("geocode:result", function(event, result) {

from_lat = result.geometry.location.lat(); 

from_lng = result.geometry.location.lng(); ;

// Do some stuff with lat and long coordinates, which works fine. 

})
})

0 个答案:

没有答案