Soovimatu tekstivaliku vältimine
Nuppudena toimivate ankrute puhul, nagu need, mis asuvad virna ülevoolu külgribal (küsimused, sildid ja kasutajad), võib olla masendav, kui kasutajad kogemata teksti esile tõstavad. See juhtub sageli siis, kui neid elemente kasutatakse navigeerimiseks või toiminguteks, mille puhul teksti valimine on tahtmatu.
Kuigi JavaScript pakub lahendusi tekstivaliku takistamiseks, on kasulik teada, kas CSS pakub standardile vastavat meetodit. Selles artiklis uuritakse, kuidas keelata tekstivaliku esiletõstmine CSS-i abil, ja arutatakse selle efekti saavutamiseks parimaid tavasid.
Käsk | Kirjeldus |
---|---|
-webkit-user-select | CSS-i atribuut tekstivaliku keelamiseks Safari brauserites. |
-moz-user-select | CSS-i atribuut tekstivaliku keelamiseks Firefoxi brauserites. |
-ms-user-select | CSS-i atribuut tekstivaliku keelamiseks versioonis Internet Explorer 10+. |
user-select | Standardne CSS-i atribuut tekstivaliku keelamiseks tänapäevastes brauserites. |
onselectstart | JavaScripti sündmuste töötleja, mis takistab elemendil teksti valimist. |
querySelectorAll | JavaScripti meetod, et valida kõik elemendid, mis vastavad määratud valijate rühmale. |
Tekstivaliku keelamiseks kasutatavate skriptide mõistmine
Tekstivaliku esiletõstmise keelamiseks CSS-i abil rakendame , , ja user-select omadused. Need atribuudid sobivad erinevatele brauseritele, tagades brauseritevahelise ühilduvuse. Seades need atribuudid väärtusele , tekstivalik on keelatud, mis takistab kasutajatel teksti esiletõstmist elemendiga klass.
JavaScripti näites lisame dokumendile sündmuste kuulaja, mis käivitatakse pärast DOM-i sisu täielikku laadimist. The meetod valib kõik elemendid klass. Iga valitud elemendi jaoks sündmus tühistatakse, et naasta false, takistades teksti valimist. See CSS-i ja JavaScripti kombinatsioon tagab tugeva lahenduse tekstivaliku keelamiseks erinevates brauserites ja stsenaariumides.
CSS-meetod tekstivaliku keelamiseks
CSS-i kasutamine tekstivaliku keelamiseks
/* CSS to disable text selection */
.no-select {
-webkit-user-select: none; /* Safari */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* IE 10+ */
user-select: none; /* Standard */
}
JavaScripti lähenemine tekstivaliku takistamiseks
JavaScripti lahendus tekstivaliku keelamiseks
/* JavaScript to disable text selection */
document.addEventListener('DOMContentLoaded', (event) => {
document.querySelectorAll('.no-select').forEach((element) => {
element.onselectstart = function() {
return false;
};
});
});
CSS-i ja HTML-i kombineerimine praktiliseks kasutamiseks
Praktiline näide CSS-i ja HTML-iga
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
.no-select {
-webkit-user-select: none; /* Safari */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* IE 10+ */
user-select: none; /* Standard */
}
</style>
</head>
<body>
<div class="no-select">Non-selectable text</div>
</body>
</html>
Täiendavate lahenduste uurimine
Teine viis veebirakendustes tekstivaliku takistamiseks on kasutada atribuut HTML-is. See atribuut, kui see on määratud , tagab, et elementi ei saa valida ega lohistada, pakkudes kasutaja interaktsioonide üle veel ühte kontrolli. See võib olla eriti kasulik interaktiivsete elementide puhul, nagu nupud ja vahelehed, mida ei tohiks esile tõsta ega kogemata teisaldada.
Lisaks on CSS-i omadusi saab kasutada. Seadistamise teel , saate muuta elemendi teksti valimatuks. Kuid see meetod keelab ka muud interaktsioonid, näiteks klõpsamise, mis ei pruugi kõigil kasutusjuhtudel olla soovitav. Kasutatavuse ja funktsionaalsuse tasakaalustamine on õige meetodi valimisel võtmetähtsusega.
- Kuidas saan CSS-i abil teksti valimist takistada?
- Kasuta vara määratud soovitud elementide jaoks.
- Kas on olemas JavaScripti meetod tekstivaliku keelamiseks?
- Jah, määrates sündmus, mis naasta sihitud elementide kohta.
- Mis on vara?
- See on CSS-i atribuut, mida kasutatakse Safari ja Chrome'i brauserites tekstivaliku keelamiseks.
- Kas ma võin kasutada teksti valimise vältimiseks?
- Jah, seadistus juurde võib takistada teksti valimist, kuid keelab ka muud interaktsioonid.
- Mida teeb omadus teha?
- The atribuut, kui see on määratud , takistab elementide valimist või lohistamist.
- Kas on võimalik kõiki brausereid CSS-iga sihtida?
- Kasuta , , ja user-select omadused koos.
- Kas tekstivaliku keelamisel on mingeid varjukülgi?
- Tekstivaliku keelamine võib parandada interaktiivsete elementide kasutuskogemust, kuid võib mõne kasutaja jaoks takistada juurdepääsu.
- Kas tekstivalikut saab keelata ainult teatud elementide puhul?
- Jah, saate atribuute või sündmuste käitlejaid rakendada konkreetsetele elementidele, nagu nupud või vahelehed.
- Millised on parimad tavad tekstivaliku keelamiseks?
- Ühendage CSS-i ja JavaScripti meetodid brauseritevahelise ühilduvuse tagamiseks ja veenduge, et kasutatavus ei kahjustaks.
Tekstivaliku esiletõstmise vältimine suurendab interaktiivsete veebielementide kasutatavust. Kasutades CSS-i atribuute nagu koos brauseripõhiste eesliidetega tagab ühilduvuse kõigi suuremate brauseritega. Lisaks pakub JavaScripti kaasamine tekstivaliku haldamiseks tugeva lahenduse. Õige rakendamise korral parandavad need tehnikad kasutajakogemust, vältides nuppude või vahekaartidena toimivates elementides juhuslikku tekstivalimist, tagades sujuva suhtluse ilma soovimatu esiletõstmiseta.