2012-06-12 61 views
6

Tôi có trang web, nơi tôi lần đầu tiên thiết lậpNhiều quy tắc cho :: lựa chọn và :: - MOZ lựa chọn (? Và sử dụng chọn)

::selection 
{ 
    background: transparent; 
} 
::-moz-selection 
{ 
    background: transparent; 
} 
* 
{ 
    -moz-user-select: none; 
    -khtml-user-select: none; 
    -webkit-user-select: none; 
    -o-user-select: none; 
    user-select: none; 
} 

(Chỉ cần cho các hiệu ứng nghệ thuật, không phải vì tôi muốn phải cố gắng để ngăn chặn những người sao chép cái gì đó.)

Nhưng sau đó, sau này, tôi muốn người dùng có thể chọn văn bản từ một textarea ..
tôi đã có thể làm cho sự lựa chọn có thể nhìn thấy một lần nữa, với

#commentarea::selection 
{ 
    background: #070707; 
} 
#commentarea::-moz-selection 
{ 
    background: #070707; 
} 
#commentarea 
{ 
    -moz-user-select: element; 
    -khtml-user-select: element; 
    -webkit-user-select: element; 
    -o-user-select: element; 
    user-select: element; 
} 

nhưng nếu người dùng chọn nội dung nào đó từ vùng văn bản, bạn không thể bỏ chọn nó bằng cách nhấp vào một nơi nào đó. Bạn chỉ có thể bỏ chọn văn bản bằng cách di chuyển dấu mũ (bằng các phím mũi tên).

Tại sao lại như vậy? Và làm thế nào tôi có thể ngăn chặn điều này?

+0

Tôi chỉ có thể sao chép điều này trong Firefox (13) và tôi chỉ có thể chọn văn bản bằng cách di chuyển dấu mũ (Shift + Mũi tên). Với trường hợp đó, nó gần như có ý nghĩa rằng tôi phải di chuyển dấu mũ để bỏ chọn nó. – stevelove

+0

Hãy rất cẩn thận kết hợp hai triển khai thử nghiệm và * rất bị hỏng trong CSS ... – BoltClock

Trả lời

1

Thay đổi

#commentarea 
{ 
    -moz-user-select: element; 
    -khtml-user-select: element; 
    -webkit-user-select: element; 
    -o-user-select: element; 
    user-select: element; 
} 

để

#commentarea { 
    -webkit-user-select: text; 
    -moz-user-select: text; 
    -khtml-user-select: text; 
    -webkit-user-select: text; 
    -o-user-select: text; 
} 

DEMO: http://jsfiddle.net/dWjPQ/1/

+1

Không, không thay đổi gì. –

+1

trong google chrome và internet explorer nó hoạt động, nó không hoạt động chỉ trong mozilla – Enve

+1

http://jsfiddle.net/dWjPQ/ – Enve

2

câu trả lời Enve là đúng .. cho các trình duyệt khác hơn so với Firefox (13,0 tối thiểu).

Để những người có cùng một vấn đề:

Trong bộ chọn phổ quát (*), bạn phải sử dụng -moz-user-select: -moz-none;, thay vì -moz-user-select: none;. Điều này sẽ khắc phục được sự cố.

+2

Ha. Có vẻ như bạn đã tìm ra giải pháp chính xác khi tôi làm vậy. :) – stevelove

Các vấn đề liên quan