2017-10-23 15 views
5

Tôi vừa nâng cấp Google Chrome trên PC và Mac lên phiên bản 62 và thuộc tính CSS user-select: all đã ngừng hoạt động, chính xác.Người dùng chọn: tất cả thừa kế không hoạt động trong chrome 62

Nếu bạn có cha mẹ với số user-select được đặt thành không có gì và trẻ có số user-select được đặt thành tất cả, thuộc tính gốc không được ghi đè chính xác.

-webkit-user-select: all; 
-moz-user-select: all; 
-ms-user-select: all; 
user-select: all; 

Có ai khác biết điều này và biết đây có phải là lỗi trong phiên bản mới của Google Chrome hoặc nếu có cách chính xác để thực hiện việc này?

Đây là mã chứng minh vấn đề này (sử dụng Chrome 62 để xem vấn đề) - JSFiddle:

div { 
 
    margin: 5px; 
 
} 
 
.parent { 
 
    -webkit-user-select: none; 
 
    -moz-user-select: none; 
 
    -ms-user-select: none; 
 
    user-select: none; 
 
} 
 
.child { 
 
    -webkit-user-select: text; 
 
    -moz-user-select: text; 
 
    -ms-user-select: text; 
 
    user-select: text; 
 
}
<div class="parent"> 
 
    <div class="child"> 
 
    Parent has user-select set to none, Try to select this text 
 
    </div> 
 
</div> 
 

 
<div class="child"> 
 
    No parent, Try to select this text 
 
</div>

+0

Có lẽ đó là một lỗi trong trình duyệt. Tôi có thể chọn văn bản đó bằng Ctrl + A - trên Windows - nhưng không phải bằng cách kéo chuột. – Nisarg

Trả lời

3

Đây là sự cố trên trình duyệt Chrome. Lỗi đã được báo cáo. Bạn có thể tìm thêm chi tiết về lỗi này với lỗi khác (ví dụ không làm việc) trên this bug report.


Cho đến khi lỗi được khắc phục, bạn có khả năng sử dụng một số JavaScript để nhận hành vi. Xem this answer on StackOverflow.


Một giải pháp phi JavaScript sẽ là như sau:

.parent :not(.selectable-all) { 
 
    -webkit-user-select: none; 
 
    -moz-user-select: none; 
 
    -ms-user-select: none; 
 
    user-select: none; 
 
} 
 
.selectable-all { 
 
    -webkit-user-select: all; 
 
    -moz-user-select: all; 
 
    -ms-user-select: all; 
 
    user-select: all; 
 
}
<div class="parent"> 
 
    <span>user-select set to none and not selectable all.</span> 
 
    <div class="child selectable-all"> 
 
    Parent has user-select set to none, Try to select this text 
 
    </div> 
 
</div> 
 

 
<div class="child selectable-all"> 
 
    No parent, Try to select this text 
 
</div>

+0

Hoàn hảo, giải pháp css thuần túy hoạt động hoàn hảo –

+0

bạn có biết làm thế nào tôi có thể có được điều này để làm việc trên tất cả các con cháu? Như bạn thấy trong fiddle này nó không hoạt động: https://jsfiddle.net/txdhez7k/1/ TIA –

+0

như thế này? - https://jsfiddle.net/sebastianbrosch/txdhez7k/2/ - nếu không mô tả chi tiết hơn về vấn đề của bạn. –

0

Hãy thử thay đổi user-select:all-user-select:text

CSS:

div { 
    margin: 5px; 
} 

.parent { 
    -webkit-user-select: none; 
    -moz-user-select: none; 
    -ms-user-select: none; 
    user-select: none; 
} 

.child { 
    -webkit-user-select: text; 
    -moz-user-select: text; 
    -ms-user-select: text; 
    user-select: text; 
} 

Bản trình diễn: https://jsfiddle.net/lotusgodkk/12jfpzys/2/

+0

Chọn văn bản không phải là giải pháp tốt, vì tôi muốn cung cấp cho người dùng tùy chọn để chọn toàn bộ trường trên một lần nhấp, chọn văn bản yêu cầu người dùng nhấp 2 hoặc 3 lần để chọn tất cả văn bản –

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