为什么焦点没有设置为noteTitle?
我正在使用谷歌地图API V3。
getNoteForm()返回一个输入字段“noteTitle”。
$(“#noteTitle”)。focus()在firebug中执行时效果很好。
点击地图时我调用此函数:
function setNewNoteInfowindow(latlng) {
if (geocoder) {
geocoder.geocode({'latLng': latlng}, function(results, status) {
var address = "";
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
address = results[1].formatted_address;
}
}
newNoteInfowindow = new google.maps.InfoWindow({
content: getNoteForm(latlng, address),
size: new google.maps.Size(40,50)
});
newNoteInfowindow.open(map, newNoteMarker);
google.maps.event.addListener(newNoteInfowindow, 'domready', function() {
$("#noteTitle").focus();
});
google.maps.event.addListener(newNoteInfowindow, 'closeclick', function() {
newNoteMarker.setVisible(false);
});
});
}
}
答案 0 :(得分:1)
在添加事件侦听器之前,您似乎正在打开infowindow。因此,在添加侦听器时,事件已经被触发。尝试颠倒open()和addListener()
的顺序 google.maps.event.addListener(newNoteInfowindow, 'domready', function() {
$("#noteTitle").focus();
});
newNoteInfowindow.open(map, newNoteMarker);