Homepage » UI / UX » Hogyan készítsünk jobb UX-et HTML5 Data- * attribútumokkal

    Hogyan készítsünk jobb UX-et HTML5 Data- * attribútumokkal

    Voltál már valaha is hozzáadni egyéni adatokat egy adott HTML elemhez, hogy később hozzáférhessen a JavaScript-hez? Mielőtt a HTML5 megjelent volna a piacon, a DOM-hoz kapcsolódó egyéni adatok tárolása valódi felhajtás volt, és a fejlesztőknek mindenféle csúnya hacket kellett használniuk, mint például a nem szabványos attribútumok bevezetése vagy az elavult setUserData () módszer használata a probléma megoldásához.

    Szerencsére ezt már nem kell tennie, mivel a HTML5 új globális bevezetést vezetett be adat-* olyan attribútumok, amelyek lehetővé teszik a további információk beágyazását bármely HTML elemre. Az új adat-* attribútumok a HTML bővíthetősége, ebből adódóan lehetővé teszi, hogy összetettebb alkalmazásokat építsenek, és hozzon létre egy kifinomultabb felhasználói élményt anélkül, hogy erőforrás-igényes technikákat, például az Ajax-hívásokat vagy a kiszolgálóoldali adatbázis-lekérdezéseket kellene használnia.

    Az új globális attribútumok böngésző támogatása viszonylag jó, mivel az összes modern böngésző támogatja őket (az IE8-10 részben támogatja őket).

    A adat-* attribútumok

    Az új szintaxisa adat-* Az attribútumok hasonlóak az aria-előtaggal rendelkező attribútumokéhoz. Bármely kisbetűs karakterláncot behelyezhet a helyére * jel. Egy attribútum értékét is meg kell adnia egy karakterlánc formájában.

    Tegyük fel, hogy szeretnénk létrehozni egy Rólunk oldalt, és tárolja az egyes alkalmazottak nevét. Nem kell mást tennie, kivéve a data-osztály egyéni attribútum a megfelelő HTML elemhez a következő módon:

     
    • gipsz Jakab
    • Jane Doe

    Szokás adat-* Az attribútumok globálisak, mint a osztály és id attribútumokat, így minden HTML elemen használhatja őket. Ön is adhat annyi adat-* attribútumok egy HTML-címkéhez, amennyit csak akar. A fenti példában például új egyéni attribútumot adhat meg, amelyet hívnak adat-felhasználó a felhasználónevek tárolására.

     
    • gipsz Jakab
    • Jane Doe

    Általános szabályként, ha saját egyéni attribútumot szeretne hozzáadni egy HTML elemhez, akkor mindig meg kell adnia azt a adat- húr. Hasonlóképpen, ha egy adat-előtag attribútumot lát valaki más kódjában, biztosan tudja, hogy ez a szerző által létrehozott egyéni attribútum.

    Mikor kell használni és mikor ne használja az egyéni attribútumokat

    A W3C az egyéni beállítást határozza meg adat-* attribútumok, mint így:

    “Az egyéni adat attribútumok arra szolgálnak, hogy az egyéni adatokat tárolják az oldalhoz vagy alkalmazáshoz, amelyekhez nincsenek megfelelő attribútumok vagy elemek.”

    Érdemes fontolóra venni adat-* attribútumok ha nem talál más szemantikai attribútumot az adatokhoz, amelyeket tárolni szeretne.

    Nem a legjobb ötlet, hogy kizárólag stílusos célokra használjuk őket, mint amilyeneket a osztály és a stílus attribútumok. Ha olyan adattípust szeretne tárolni, amelyre a HTML5-nek van egy szemantikai attribútuma, például a dátum idő attribútum a elemet használjuk, az adatkonfigurált attribútum helyett.

    Fontos megjegyezni, hogy adat-* attribútumok tartják az adatokat magán az oldalra vagy az alkalmazásra, ez azt jelenti, hogy a felhasználói ügynökök, mint például a keresőrobotok és a külső alkalmazások figyelmen kívül hagyják őket. Az adat-előtaggal rendelkező attribútumok csak a HTML-kódot tartalmazó webhelyen futó kódhoz férhetnek hozzá.

    Szokás adat-* az attribútumokat széles körben használják a frontend keretek, mint például a Bootstrap és a Zurb Foundation. A jó hír az, hogy nem feltétlenül kell tudnod, hogyan kell JavaScript-t írni, ha adatkonfigurált attribútumokat szeretne használni egy keretrendszer részeként, mivel csak akkor kell hozzáadni őket a HTML-kódhoz, hogy aktiválhasson egy funkciót. előre írt JavaScript plugin.

    Az alábbi kódrészlet egy eszköztippet ad a bal oldali gombbal a Bootstrap gombjához, a data-kapcsoló és a data-elhelyezés egyéni attribútumok, és megfelelő értékek hozzárendelése hozzájuk.

     

    Cél adat-* Attribútumok a CSS-szel

    Bár nem ajánlott használni adat-* attribútumok csak stílusos célokra használhatók, kiválaszthatja azokat a HTML elemeket, amelyekhez általános attribútum-választók segítségével tartoznak. Ha meg szeretné választani minden egyes elemet, amely bizonyos adatkódú attribútummal rendelkezik, használja ezt a szintaxist a CSS-ben:

     li [adat-felhasználó] szín: kék; 

    Ne feledje, hogy a fenti felhasználó kódjai nem jelennek meg kékben a kódrészletben - miután az összes egyedi attribútumban tárolt adat nem látható - hanem az alkalmazottak nevét a

  • elemeket (a példában “gipsz Jakab” és “Jane Doe”).

    Ha csak olyan elemeket szeretne kiválasztani, amelyekben az adat-előtaggal rendelkező attribútum bizonyos értéket vesz igénybe, akkor ezt a szintaxist kell használni:

     li [data-Department = "IT"] border: szilárd kék 1px; 

    Használhatja az összes bonyolultabb CSS attribútum-szelektorot, például az általános testvér-kombinátor választót ([Data-érték ~ = "foo"]) vagy a helyettesítő választó ([Data-érték * = "foo"]), adat-előtaggal rendelkező attribútumokkal is.

    Hozzáférés adat-* Jellemzők a JavaScript használatával

    Az egyéni tárolt adatokhoz hozzáférhet adat-* a JavaScripttel rendelkező attribútumokat az adatkészlet vagy a jQuery's használatával adat() eljárás.

    Vanília JavaScript

    A adatbázisba az ingatlan a HTML-elem Ez azt jelenti, hogy bármilyen HTML-címkén használhatja. A adatbázisba A tulajdonjog minden szokáshoz hozzáfér adat-* az adott HTML elem attribútumai. Az attribútumok a következőképpen kerülnek visszaadásra: DOMStringMap objektum, amely mindegyikhez egy bejegyzést tartalmaz adat-* tulajdonság.

    Miénkben Rólunk Az oldal példája könnyen ellenőrizheti az egyéni attribútumokat “Jane Doe” a adatbázisba a következő módon:

     var jane = document.getElementById ("jane"); console.log (jane.dataset); // DOMStringMap felhasználó: "janedoe", osztály: "IT" 

    Láthatjuk, hogy a vissza DOMStringMap objektum a adat- az előtagok eltávolításra kerülnek az attribútumok nevéből (használó ahelyett adat-felhasználó, és osztály ahelyett data-osztály). Az attribútumokat ugyanabban a formátumban kell használnia, ha csak egy bizonyos adat-előtag attribútum értékét szeretné elérni (az összes egyéni attribútum listája helyett, mint a fenti kódrészletben).

    Egy adott érték értékét lekérheti adat-* attribútum a adatbázisba ingatlan. Ahogy korábban említettem, ki kell hagynod adat- előtagot a tulajdonság nevéből, így ha Jane értékét szeretné elérni adat-felhasználó attribútum, így teheti meg:

     var jane = document.getElementById ("jane"); console.log (jane.dataset.user) // janedoe

    jQuery adat() eljárás

    A adat() A jQuery módszer lehetővé teszi az adat-előtag attribútum értékének megszerzését. Itt is ki kell hagynia a adat- az attribútum nevéből az előtagot, hogy megfelelően hozzáférjen. Példánkban figyelmeztető üzenetet jeleníthet meg az osztály nevével, ahol “Jane” a következő kóddal működik:

     $ ("# jane") hover (funkció () var department = $ ("# jane"). adat ("osztály"); figyelmeztetés (osztály););

    A adat() A módszert óvatosan kell használni, mivel ez nemcsak az adatkonfigurált attribútum értékének megszerzésére szolgál, hanem a DOM elemhez az alábbi módon is csatolja az adatokat:

     var town = $ ("# jane"). adatok ("város", "New York"); 

    A jQuery-hez csatolt extra adatok adat() a módszer nyilvánvalóan nem jelenik meg a HTML-kódban újként adat-* attribútum, így ha mindkét technikát egyidejűleg használják, akkor az adott HTML elem két adatsorot tárol, egyet HTML-t és egy másik jQuery-t..

    Példánkban “Jane” új egyéni adatokat kapott"város") a jQuery-vel, de ez az új kulcsértékpár nem jelenik meg új HTML-ben data-város tulajdonság. Az adatok kétféle módon történő tárolása nem a legjobb gyakorlat a legkevésbé csak egyszer használjon a két módszer közül egyet.

    Hozzáférhetőség és adat-* attribútumok

    Mint a szokásos adatok adat-* Az attribútumok magánjellegűek, előfordulhat, hogy a segítő technológiák nem férhetnek hozzá. Ha meg szeretné tartani a tartalmát a fogyatékkal élő felhasználók számára, nem ajánlott olyan tartalmat tárolni, amely így fontos lehet a felhasználók számára.