2011-01-31 15 views
2

我有辦法工具提示,在各種移動設備上的工作試驗。不幸的是,我需要支持的設備範圍從諾基亞到iPhone。什麼決定了iPhone(移動探險)會用css:hover僞類做什麼?

不幸的是,一些我處理的瀏覽器不支持使用title屬性對焦點提示。因此,我需要提出一個不同的解決方案。

對於初學者來說,我玩純CSS工具提示:http://psacake.com/web/jl.asp

此方法使用:hover僞類定位和設置SPAN的z-index的創建工具提示。

在iPhone,由此產生的奇數副作用。點擊鏈接一次暴露工具提示需要第二次點擊才能真正激活鏈接。

然而,將一個簡單的風格,不同的鏈接的:hover僞類(改變背景顏色)不具有同樣的效果。一次點擊會觸發樣式和鏈接(在下一頁加載前您會看到:懸停樣式)。

我切換到使用解決了這個問題,爲移動設備:關注這似乎不被iPhone(和我使用的諾基亞觸摸設備)來觸發僞類。當然,如果這個應用程序也在桌面瀏覽器上使用,這並不理想。

所以......問題:是否有文檔邏輯,以便iPhone Safari瀏覽器何時決定中斷鏈接上的點擊事件以顯示:hover僞類與不中斷並讓鏈接觸發第一個水龍頭?

回答

1

我試圖找到你在蘋果的文檔中的鏈接,但最具體的我可以找到有關:懸停是它被模擬,可能會導致意想不到的結果。我確實找到了一個地方說,只有當用戶輕敲並握住物體時纔會顯示它。 That page(靠近底部,「不要使用不支持的iOS技術」)也表示當發生這種情況時,也會顯示正常的工具提示(使用title屬性)。

如果你會接受一個關於爲什麼改變樣式和顯示工具提示的行爲不同的假設,我會猜想它與處理mousemove事件的方式類似。這Handling Events頁說,如果鼠標移動事件中的頁面的內容發生變化,在鏈(包括鼠標鬆開)事件的其餘部分不被髮送。我假設這種行爲也適用於:懸停。如果您使用display: none隱藏工具提示,則可以嘗試使用visibility: hidden,因爲它被解釋爲「該對象仍在此處,但看不到」。