Teksto pasirinkimo išjungimo įvadas
Prietaisams, kurie veikia kaip mygtukai, pvz., Stack Overflow šoninėje juostoje esantys mygtukai, pavadinti Klausimai, žymos ir vartotojai, neleisdami paryškinti teksto, galite pagerinti naudotojo patirtį. Taip užtikrinama, kad atsitiktinis teksto pasirinkimas neblaškytų vartotojų dėmesio.
Nors yra „JavaScript“ sprendimų, dažnai geriau rasti CSS standartinį metodą. Šiame straipsnyje nagrinėjama, ar galimas su CSS suderinamas metodas ir kokia geriausia praktika, jei nėra standartinio sprendimo.
komandą | apibūdinimas |
---|---|
-webkit-user-select | Nurodo, ar elemento tekstą galima pasirinkti naršyklėse „Chrome“, „Safari“ ir „Opera“. |
-moz-user-select | Nurodo, ar elemento tekstą galima pasirinkti „Firefox“. |
-ms-user-select | Nurodo, ar elemento tekstą galima pasirinkti Internet Explorer ir Edge. |
user-select | Nurodoma, ar elemento tekstą galima pasirinkti šiuolaikinėse naršyklėse. |
addEventListener | Užregistruoja nurodytą klausytoją EventTarget, į kurį jis iškviečiamas. |
preventDefault | Neleidžia atlikti numatytojo veiksmo, priklausančio įvykiui. |
selectstart | Suaktyvinama, kai vartotojas pradeda pasirinkti tekstą. |
Supratimas, kaip išjungti teksto pasirinkimą
CSS scenarijus naudoja kelias ypatybes, kad išjungtų teksto pasirinkimą. The -webkit-user-select, -moz-user-select, ir -ms-user-select ypatybės yra konkrečios naršyklės komandos, kurios neleidžia pasirinkti teksto atitinkamai naršyklėse „Chrome“, „Safari“, „Opera“, „Firefox“, „Internet Explorer“ ir „Edge“. The user-select nuosavybė yra standartizuota versija, kurią palaiko šiuolaikinės naršyklės. Šios komandos taikomos inkaro žymoms, veikiančioms kaip mygtukai, siekiant užtikrinti, kad vartotojai negalėtų netyčia paryškinti teksto, taip išsaugoma mygtukų funkcija be vizualinių trikdžių.
„JavaScript“ scenarijus dar labiau pagerina vartotojo patirtį, įtraukdamas įvykių klausytojus prie inkaro elementų. The addEventListener metodas pritvirtinamas mousedown ir selectstart įvykius į elementus, užkertant kelią numatytiems veiksmams naudojant preventDefault. Tai užtikrina, kad net jei vartotojas bando pasirinkti tekstą spustelėdamas ir vilkdamas, teksto pasirinkimas bus užblokuotas. Šis kombinuotas metodas, naudojant tiek CSS, tiek JavaScript, užtikrina patikimą nepageidaujamo teksto pasirinkimo prevenciją įvairiose naršyklėse ir naudotojų sąveikose.
Užkirsti kelią teksto pasirinkimui ant inkaro mygtukų naudojant CSS
CSS sprendimas
/* CSS to disable text selection */
a.button {
-webkit-user-select: none; /* Chrome, Safari, Opera */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* Internet Explorer/Edge */
user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera, and Firefox */
}
/* Apply the class to anchor tags acting as buttons */
a.button {
display: inline-block;
padding: 10px 20px;
text-decoration: none;
background-color: #007bff;
color: white;
border-radius: 5px;
}
„JavaScript“ naudojimas siekiant pagerinti vartotojo patirtį naudojant inkaro mygtukus
JavaScript sprendimas
<script>
// JavaScript to disable text selection for specific elements
document.querySelectorAll('a.button').forEach(function(el) {
el.addEventListener('mousedown', function(e) {
e.preventDefault(); // Prevents text selection on mousedown
});
el.addEventListener('selectstart', function(e) {
e.preventDefault(); // Prevents text selection on drag
});
});
</script>
Naršyklės suderinamumo ir geriausios praktikos tyrinėjimas
Kitas svarbus aspektas, į kurį reikia atsižvelgti išjungiant prierašo elementų teksto pasirinkimo paryškinimą, yra naršyklės suderinamumas ir atsarginiai sprendimai. Kol user-select nuosavybė yra plačiai palaikoma šiuolaikinėse naršyklėse, todėl gali būti sudėtinga užtikrinti suderinamumą su visomis versijomis ir platformomis. Senesnėse naršyklėse arba konkrečiose versijose kai kurios ypatybės gali būti neatpažintos, todėl elgsena nenuosekli. Siekiant užtikrinti, kad numatytos funkcijos būtų nuosekliai pasiekiamos, labai svarbu atlikti išsamų testavimą įvairiose naršyklėse.
Be CSS ir JavaScript sprendimų, patartina laikytis geriausios praktikos, pvz., išlaikyti švarų ir gerai dokumentuotą kodą. Komentarų naudojimas CSS ir JavaScript failuose padeda kitiems kūrėjams išlaikyti aiškumą ir lengviau suprasti. Be to, atsižvelkite į naudotojo patirtį ir įsitikinkite, kad teksto pasirinkimo išjungimas netrukdys kitiems interaktyviems jūsų tinklalapio elementams.
Dažnai užduodami klausimai apie teksto pasirinkimo išjungimą
- Kaip išjungti teksto pasirinkimą naršyklėje Chrome?
- Naudoti -webkit-user-select ypatybę, kad išjungtumėte teksto pasirinkimą naršyklėje „Chrome“.
- Ar yra universali CSS ypatybė, leidžianti išjungti teksto pasirinkimą?
- Taip, user-select nuosavybė yra universalus metodas, kurį palaiko dauguma šiuolaikinių naršyklių.
- Ar galiu išjungti teksto pasirinkimą naudojant „JavaScript“?
- Taip, naudojant addEventListener ir preventDefault metodai blokuoti teksto pasirinkimo įvykius.
- Kokios specifinės skirtingų naršyklių savybės?
- Naudokite -webkit-user-select „Chrome“, „Safari“, „Opera“, -moz-user-select skirta „Firefox“ ir -ms-user-select skirta „Internet Explorer“ ir „Edge“.
- Ar teksto pasirinkimo išjungimas turi įtakos pritaikymui?
- Gali, todėl svarbu užtikrinti, kad funkcionalumas netrukdytų klaviatūros naršymui ar ekrano skaitytuvams.
- Ar galiu išjungti visų elementų teksto pasirinkimą?
- Taip, galite taikyti user-select bet kuriam jūsų CSS elementui.
- Ką daryti, jei vartotojui reikia nukopijuoti tekstą?
- Įsitikinkite, kad teksto, kurį reikia nukopijuoti, nepaveiktų teksto pasirinkimo išjungimo ypatybės.
- Ar be CSS būtina naudoti JavaScript?
- „JavaScript“ naudojimas gali suteikti papildomo tvirtumo ir tvarkyti kraštutinius atvejus, kurių neapima vien CSS.
- Kaip galiu užtikrinti kelių naršyklių suderinamumą?
- Išbandykite diegimą įvairiose naršyklėse ir naudokite konkrečios naršyklės ypatybes kartu su universaliosiomis user-select nuosavybė.
Paskutinės mintys apie teksto pasirinkimo paryškinimo išjungimą
Apibendrinant galima pasakyti, kad išjungus teksto pasirinkimo paryškinimą inkaro elementams, kurie veikia kaip mygtukai, galima žymiai pagerinti naudotojo patirtį, užkertant kelią nepageidaujamam teksto pasirinkimui. Naudojant CSS savybių derinį, pvz user-select ir JavaScript įvykių klausytojai užtikrina visapusį suderinamumą tarp naršyklių.
Nors CSS ypatybės tvarko daugumą šiuolaikinių naršyklių, „JavaScript“ suteikia papildomo tvirtumo senesnėms ar mažiau suderinamoms naršyklėms. Šis kombinuotas metodas užtikrina, kad naudotojai sąveikautų sklandžiai, nesiblašydami dėl atsitiktinio teksto pasirinkimo, todėl interneto dizainas bus švaresnis ir profesionalesnis.