2013-04-25 122 views
1

我想禁止僅使用CSS(使用鼠標或使用CRTL + A進行選擇)進行元素選擇。我嘗試了以下方法:阻止在Firefox中選擇CSS

element { 
    -moz-user-select: none; 
    -ms-user-select: none; 
    -webkit-user-select: none; 
    user-select: none; 
} 

element::-moz-selection { 
    background: transparent; 
} 

它在Firefox 20中無法正常工作,但它在webkit中工作。即使使用上面的CSS規則,我也可以用CTRL + A選擇圖像和畫布。

有沒有辦法,只使用CSS(無JS),禁止選擇(或至少不顯示它)。

我不想阻止用戶複製文本,我只想隱藏某些元素的選擇。

我試過碼this answer,但它似乎並沒有在Firefox中工作20

感謝您的幫助。

回答

1

我用下面的小提琴試圖在FF20:http://jsfiddle.net/ADGsA/

p.noselect { -moz-user-select:none; } 
p.recolor::-moz-selection { color: yellow; background: red; } 

與鼠標的所有行爲都符合市場預期,但我的確可以選擇使用Ctrl-A依然文本。我敢肯定,這是壁虎的錯誤,但它也很可能不是一個他們要解決的,由the MDN reference page判斷:

注:用戶選擇不是目前任何W3C CSS規範的一部分。因此,瀏覽器 實現之間存在細微差異。一定要跨瀏覽器測試你的應用程序。

非標準化,如此不可預測。我想你可能會考慮在Bugzilla上提出一個bug,因爲我真的認爲他們不打算這樣做,正如上面提到的頁面所述:

控制外觀(唯一)的選擇。

這將表明ctrl-A也不應該能夠選擇它。


編輯:

這是一個known issue since November 2008。不要屏住呼吸尋找解決辦法,加強它並祈禱。