Tekstivaliku esiletõstmise keelamise juhend

CSS and JavaScript

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.

  1. Kuidas saan CSS-i abil teksti valimist takistada?
  2. Kasuta vara määratud soovitud elementide jaoks.
  3. Kas on olemas JavaScripti meetod tekstivaliku keelamiseks?
  4. Jah, määrates sündmus, mis naasta sihitud elementide kohta.
  5. Mis on vara?
  6. See on CSS-i atribuut, mida kasutatakse Safari ja Chrome'i brauserites tekstivaliku keelamiseks.
  7. Kas ma võin kasutada teksti valimise vältimiseks?
  8. Jah, seadistus juurde võib takistada teksti valimist, kuid keelab ka muud interaktsioonid.
  9. Mida teeb omadus teha?
  10. The atribuut, kui see on määratud , takistab elementide valimist või lohistamist.
  11. Kas on võimalik kõiki brausereid CSS-iga sihtida?
  12. Kasuta , , ja user-select omadused koos.
  13. Kas tekstivaliku keelamisel on mingeid varjukülgi?
  14. Tekstivaliku keelamine võib parandada interaktiivsete elementide kasutuskogemust, kuid võib mõne kasutaja jaoks takistada juurdepääsu.
  15. Kas tekstivalikut saab keelata ainult teatud elementide puhul?
  16. Jah, saate atribuute või sündmuste käitlejaid rakendada konkreetsetele elementidele, nagu nupud või vahelehed.
  17. Millised on parimad tavad tekstivaliku keelamiseks?
  18. Ü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.