2010-02-05 26 views
7

我使用jQuery UI中的對話框模式,當我打開對話框時,第一個或最初幾個錨點中的第一個或其中一個沒有點擊任何東西,它周圍有一條虛線。一旦我點擊屏幕上的任何地方,它就會消失。所以看起來對話框正在激活錨點,但它如何做到這一點超出了我的想象。jQuery UI - 爲什麼圍繞不應該是活動的錨的虛線輪廓?

+0

同樣的問題在這裏。 – 2010-10-26 19:43:17

回答

0

我很確定這條虛線只代表焦點。 jquery-ui實際上可能會把焦點放在第一個超鏈接上,但是(沒有通過jquery-ui源代碼來傾注),我認爲你的瀏覽器自己做這件事同樣合理。

如果是瀏覽器,我懷疑這是因爲對話框div接收焦點,而瀏覽器處理該問題的唯一方法是將焦點放在該div中的第一個交互式事物上:錨點。

如果對話框中沒有錨點會發生什麼?如果在錨點之前有文本輸入會發生什麼?

如果這是瀏覽器正在做的事情,請自己幫忙,不要擔心。您可能會耗費大量時間,並嘗試使其行爲不同,從而引入大量針對瀏覽器的特性,難以維護代碼。

+0

我去了jQuery UI演示頁面(http://jqueryui.com/demos/dialog/),看起來Firefox 3.6無論如何都有這個問題,所以你對你的假設有點正確,它只是瀏覽器。是的,如果我沒有任何錨點,那麼圍繞任何東西都沒有虛線。 但是,Webkit和IE在jQuery UI的演示頁面上沒有任何虛線,但是當我構建一個準系統測試對話框時,所以不太確定是什麼原因造成的。我在Drupal構建中使用它,所以也許在那裏有衝突。我可能會在我的個人網站上進行測試,看看它是否發生在那裏。 – NerdCowboy 2010-02-05 20:13:37

5

我不確定爲什麼會發生這種情況,但是如果你想改變這種行爲,你可以添加到你的CSS和大綱應該消失。

div.ui-dialog a { outline: none } 
+0

隨着新的JQuery UI 1.10.3,我不得不設置.ui-button {outline:none;} – gbs 2014-04-24 17:54:23