2013-08-02 102 views
1

我有一個頁面,基本上是一個巨大的全屏谷歌地圖。我無法獲得任何類型的焦點功能。任何想法爲什麼?該代碼是很長,所以這裏是URL,然後一些摘錄:jQuery表單專注於谷歌地圖

我們正在瀏覽的頁面,在這裏我們想要的位置搜索輸入框採取集中在頁面加載後:http://api.raprec.com/maps/frame/

的表單字段(注意我也試過它什麼也沒做HTML5的調焦的屬性:

<input type="text" name="location" id="location" value="" TABINDEX=1 autofocus />

的JavaScript行「移動形式進入地圖」谷歌地圖文檔中建議:

map.controls[google.maps.ControlPosition.TOP_RIGHT].push(document.getElementById('sidepanel'));

在頁面的頁腳中的JavaScript:

jQuery(document).ready(function() {jQuery('#location').focus(); });

回答

1

元素可能只集中。

你的嘗試很有效,但是來得太早,因爲當元素移動到它的控制位置時,它會失去焦點。您需要的是在元素已經放置到地圖上時設置焦點。由於沒有事件發現它何時發生(我不建議在這裏使用DOMNodeInserted),所以在設置焦點之前需要延遲。

等待tilesloaded -event似乎是足夠了:

google.maps.event 
.addListenerOnce(map,'tilesloaded',function(){jQuery('#location').focus()});