嘿大家我有一个地理定位脚本来获取访客城市和州。我试图运行此脚本,如果用户选择使用此自动功能。如果脚本设置为文档就绪,那么它可以工作,但每次添加点击功能时它都不起作用。我做错了什么?
JS
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCeLzjWfDaqBze8j7qKJL17XH4ZsMjsTx0&sensor=true">
</script>
<script>
$("#useLocation").click(function(){
//I'm not doing anything else, so just leave
if(!navigator.geolocation) return;
navigator.geolocation.getCurrentPosition(function(pos) {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(pos.coords.latitude,pos.coords.longitude);
geocoder.geocode({'latLng': latlng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
//Check result 0
var result = results[0];
//look for locality tag and administrative_area_level_1
var city = "";
var state = "";
for(var i=0, len=result.address_components.length; i<len; i++) {
var ac = result.address_components[i];
if(ac.types.indexOf("locality") >= 0) city = ac.long_name;
if(ac.types.indexOf("administrative_area_level_1") >= 0) state = ac.long_name;
}
//only report if we got Good Stuff
if(city != '' && state != '') {
$("#locationText").val(city+", "+state);
}
}
});
});
});
</script>
HTML
<li><label for="cLocation">Use Current Location?</label> <input type="checkbox" id="useLocation" name="cLocation"> Yes</li>
<li><label for="dLocation">Where Will You Be:</label> <input type="text" name="dLocation" class="shortInput" id="locationText"></li>
我的JS控制台中没有任何关于此功能的内容无效,所以我不确定为什么不行。它什么也没做。
有人可以帮忙吗?
答案 0 :(得分:1)
javascript是否出现在标记中的复选框之后?您可能正在尝试在元素存在之前附加处理程序。