Im移動優化一個網站,並提出了飛出菜單。我已禁用改變菜單按鈕的顏色:懸停。我這樣做是因爲iPhone認爲最後一次點擊來保持懸停僞類。CSS懸停爲黑莓,但不是iphone?
但是現在我在黑莓測試,他們有一個桌面樣式的光標,所以將受益於元素改變鼠標懸停的顏色。
是否有可能禁用iPhone的懸停顏色,但不blackberrys?更一般地說,是否有一種方法可以使懸停顏色只適用於像blackberrys這樣的非觸摸屏設備,因爲只有它們可以實現鼠標懸停。 謝謝
Im移動優化一個網站,並提出了飛出菜單。我已禁用改變菜單按鈕的顏色:懸停。我這樣做是因爲iPhone認爲最後一次點擊來保持懸停僞類。CSS懸停爲黑莓,但不是iphone?
但是現在我在黑莓測試,他們有一個桌面樣式的光標,所以將受益於元素改變鼠標懸停的顏色。
是否有可能禁用iPhone的懸停顏色,但不blackberrys?更一般地說,是否有一種方法可以使懸停顏色只適用於像blackberrys這樣的非觸摸屏設備,因爲只有它們可以實現鼠標懸停。 謝謝
這回答你的問題的第一部分。 嘗試使用Modernizr,然後添加一個appleOS測試。
Modernizr.addTest('ipad', function() {
return !!navigator.userAgent.match(/iPad/i);
});
Modernizr.addTest('iphone', function() {
return !!navigator.userAgent.match(/iPhone/i);
});
Modernizr.addTest('ipod', function() {
return !!navigator.userAgent.match(/iPod/i);
});
Modernizr.addTest('appleios', function() {
return (Modernizr.ipad || Modernizr.ipod || Modernizr.iphone);
});
從那裏,你可以添加一個類到身體,如果它是iOS和適用於非iOS設備的懸停類。
理想情況下,您可以使用Modernizr添加到不支持觸摸的瀏覽器的「notouch」主體類,但根據我的經驗,它不會將此類添加到Blackberry瀏覽器,即使設備不支持觸摸。讓我知道,如果你發現不同!
我支持使用Modernizr,但這種方法有點多。有一個簡單的Modernizr.touch對象,更接近提問者想要的內容。所以,如果你通過javascript檢測到,你可以這樣做:if(!Modernizr.touch){//在這裏輸入不觸摸懸停}。如果你是通過CSS來做的話,你可以使用Modernizr的類名,並且做一些類似於.no-touch的.className:hover {//在這裏輸入樣式}。 – RussellUresti
我絕對同意這種方法有點多,但你會看到我提到了Modernizr.touch和.no-touch類名,我發現Modernizr認爲黑莓瀏覽器(即使那些不支持的類觸摸)DO支持觸摸。就像我說的,但是,如果有人發現不同,那麼好! –
不是沒有明確的設備檢測,我不認爲。 – ceejayoz