Dù sao để ngăn việc làm nổi bật Màu xanh của các phần tử trong Chrome khi nhấp nhanh?


123

Hầu hết thời gian tôi không lo lắng về điều đó nhưng tôi có một băng chuyền hình ảnh và nếu tôi nhanh chóng nhấp vào div tiếp theo và div trước đó, chúng sẽ được đánh dấu trong Chrome.

Tôi đã thử sử dụng phác thảo: không có nhưng không có tác dụng. Có giải pháp nào ngoài đó không?


Tôi không thấy hiệu ứng này trên phiên bản Chrome hiện tại
Billal Begueradj 14/09/18

Tôi biết rằng trường hợp sử dụng của bạn là khác nhau, nhưng đối với bất kỳ ai khác có thể muốn xóa nó khỏi tất cả các liên kết, tôi không khuyên bạn nên làm điều đó. Tôi đã cố gắng xóa nó trên PWA, nhưng không có phản hồi trực quan, người dùng nhận thức rằng ứng dụng chậm hơn.
collimarco

Câu trả lời:


170

Ngoài liên kết được cung cấp bởi Floremin , liên kết xóa lựa chọn văn bản bằng JavaScript để "xóa" lựa chọn, bạn cũng có thể sử dụng CSS thuần túy để thực hiện việc này. CSS ở đây ...

.noSelect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

Chỉ cần thêm class="noSelect"thuộc tính vào phần tử mà bạn muốn áp dụng lớp này. Tôi thực sự khuyên bạn nên dùng thử giải pháp CSS này. Không có gì sai khi sử dụng JavaScript, tôi chỉ tin rằng điều này có thể dễ dàng hơn và làm sạch mọi thứ một chút trong mã của bạn.

Đối với chrome trên android -webkit-tap-highlight-color: transparent; là một quy tắc bổ sung mà bạn có thể muốn thử nghiệm để được hỗ trợ trong Android.


1
Đối với riêng Chrome, bạn có thể chỉ cần user-selectwebkit-user-select.
smts

Đây là giải pháp tôi đang sử dụng vì tôi chỉ gặp vấn đề về đánh dấu trong Chrome và nó hoạt động rất tốt. Cảm ơn tất cả mọi người đã tham gia!
Smith

36
Không thể làm cho nó hoạt động với Chrome trên Android. Tôi đã phải sử dụng-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
Iwazaru

25
-webkit-tap-highlight-color: transparent; là phần quan trọng trên Chrome
FisNaN

Đối với chrome trên android -webkit-tap-highlight-color: transparent; - Làm việc cho tôi cảm ơn!
CK Munn

213

Đối với Chrome trên Android, bạn có thể sử dụng thuộc tính CSS -webkit-tap-highlight-color :

-webkit-tap-highlight-color là thuộc tính CSS không chuẩn đặt màu của phần đánh dấu xuất hiện trên một liên kết khi nó được nhấn vào. Phần nổi bật cho người dùng biết rằng lần nhấn của họ đang được nhận dạng thành công và cho biết họ đang nhấn vào phần tử nào.

Để xóa hoàn toàn phần đánh dấu, bạn có thể đặt giá trị thành transparent:

-webkit-tap-highlight-color: transparent;

Lưu ý rằng điều này có thể gây ra hậu quả về khả năng truy cập: xem outlinenone.com


4
Tôi thấy rằng khi bạn chạy trên màn hình cảm ứng chẳng hạn, Chrome sẽ hoạt động giống như trên Android. Tôi có một <div> sẽ nhấp nháy màu xanh lam bất cứ khi nào bạn nhấp vào đâu đó bên trong nó. Chỉ khi tôi sử dụng câu trả lời này thì nó mới dừng lại. Cảm ơn!
Valorum

2
Không có atty css nào khác sẽ làm điều này. Rất quan trọng vì đánh dấu nhấn làm biến dạng hình thức của bất kỳ thứ gì được nhấp vào, làm giảm ngôn ngữ hình ảnh của bạn.
Dominic Cerisano

23
-webkit-tap-highlight-color: transparent;dường như cũng hoạt động.
Bernard

1
Tôi thích điều này, đối với các sự kiện liên lạc, nó là phải! Thông tin này có hữu ích "ngoài biểu đồ"!
Berker Yüceer

1
Đây là giải pháp phù hợp với tôi vào năm 2020
Blue Bot

66

Tôi đang chạy Chrome phiên bản 60 và không có câu trả lời CSS nào trước đó hoạt động.

Tôi thấy rằng Chrome đã thêm phần đánh dấu màu xanh lam thông qua outlinekiểu. Việc thêm CSS sau đây đã sửa lỗi cho tôi:

:focus {
    outline: none !important;
}

5
bạn là một người tiết kiệm cuộc sống.
beckah

2
đây là một trong những công tác dành cho Chrome (phiên bản 61) trên Android
Stefan

Hoạt động cho các phiên bản Chrome mới hơn. Cảm ơn!
CrazedCoder

Siêu, đã tự hỏi tại sao đáng tin cậy của tôi user-select:noneđã nhận được đâu
Sean T

Tôi đã thử mọi thứ nhưng điều này làm việc như một sự quyến rũ. Cảm ơn vì đã cứu những sợi tóc của tôi!
Avinash Kumar

25

Tuy nhiên, đôi khi, ngay cả với user-selecttouch-callouttắt, cursor: pointer;có thể gây ra hiệu ứng này, vì vậy, chỉ cần thiết lập cursor: default;và nó sẽ hoạt động.


7
Đây là một câu trả lời chính xác, cursor: pointer;thực sự gây ra điểm nhấn. Nhưng -webkit-tap-highlight-color: transparent;là giải pháp phổ quát hơn.
yanot

1
@yanot: hãy đọc cảnh báo -webkit-tap-highlight-colortrước khi gắn nhãn nó là một giải pháp tương đối phổ biến : developer.mozilla.org/en-US/docs/Web/CSS/…
Hassan Baig

@HassanBaig Tôi nghĩ đó là rõ ràng rằng tôi không có nghĩa là phổ quát qua trình duyệt , nhưng trong bối cảnh này, tức là trên các phiên bản khác nhau của chrome
yanot

2
cảm ơn - không có giải pháp nào khác phù hợp với tôi. Phải loại bỏ các con trỏ trỏ để làm nổi bật đường đi màu xanh đi
RVP

3
cursor: defaultđã lừa tôi khi không có gì khác hoạt động.
Tiếng Telarian

-2

Hãy thử tạo một trình xử lý cho sự kiện được chọn trên các phần tử đó và trong trình xử lý, bạn có thể xóa lựa chọn.

Hãy xem này:

Xóa lựa chọn văn bản bằng JavaScript

Đó là một ví dụ về việc xóa lựa chọn. Bạn chỉ cần sửa đổi nó để chỉ hoạt động trên phần tử cụ thể mà bạn cần.


Vì vậy, nó không thể được sửa chữa bằng CSS, hả? Tôi có thể xóa văn bản đã chọn bên trong trình xử lý nhấp chuột của mình không? EDIT- Cảm ơn vì ví dụ. Điều này tệ là nó phải được xử lý thông qua javascript. Tôi đã hy vọng nó chỉ là một vấn đề CSS.
Smith

Ngoài ra, điều này có ảnh hưởng đến khả năng tiếp cận không?
Smith

Bạn có thể xóa văn bản trong trình xử lý nhấp chuột, nhưng hãy xem câu trả lời @smts bằng CSS thuần túy.
Floremin

-8

Điều này phù hợp nhất với tôi:

.noSelect:hover {
  background-color: white;
}

6
Đây là XẤU và một con đường dẫn đến địa ngục tương lai nhất định. Không xúc phạm.
Mike Barwick

Nếu nền của trang web không phải là màu trắng thì sao?
rideon88

Điều này là không thể duy trì. Không ai làm điều này xin vui lòng.
Tiếng Telarian
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.