2011-07-25 40 views
1

我遇到了一個JQuery模式表單,其中有許多標籤和相應的輸入字段。JQuery模式表單輸入字段自動對焦問題

當我打開JQuery模式窗體並向下滾動時,會發生該問題。當我關閉並重新打開JQuery模式表單時,表單會自動滾動,以便第一個輸入字段位於表單頂部並具有鍵盤焦點。但是,這會切斷第一個輸入字段上方的標籤和標題。我已經嘗試了$(「輸入」)。blur(),並且成功禁用了第一個輸入元素上的鍵盤焦點,但模式窗體仍然自動滾動,以便第一個輸入窗體與頂部屏幕。

我也嘗試在JQuery模式表單中放置一個隱藏的輸入字段,但Firefox很聰明,仍然會滾動到第一個非隱藏的輸入元素。

有沒有人遇到過這種情況,如果有的話,有沒有人知道它的正確決議?

+1

只是琢磨......重新加載打開模式的內容會有問題嗎?這應該可以解決問題,儘管這是以服務器請求爲代價的。 –

+1

當你說「當我打開JQuery模式窗體並向下滾動」時,我想知道爲什麼它將重點放在第一個控件上?你有沒有一些JavaScript在你的任何地方做'focus()'或'scrollIntoView()'? –

+0

否定的,我沒有在我的代碼中調用任何focus()或scrollIntoView()函數。我認爲它與JQuery相關,但我不確定。我可以重新加載模式的內容,但是我正在一個框架內部工作,其中涉及服務器請求的顯着延遲(5-10秒,可怕),所以我在頁面加載時將自己限制爲一個服務器請求。我已經解決了這個問題(見下文),雖然我很沮喪,這似乎是一個框架或JQuery怪癖。 – sichinumi

回答

1

問題已解決。我在JQuery模式對話框div上使用了scrollTop()方法,如下所示:

$(「dialog」)。scrollTop(0);

由於Firefox的自動定位顯然不與自動對焦相關,因此這與自動對焦/模糊問題是分開的,不同的。