Diszkrét Javascript még egyszerűbben
A Weblabor hasábjain már sokat cikkeztünk a diszkrét Javascript technológiáról, melynek lényege, hogy a viselkedést megadó kódot a megjelenéstől és a tartalomtól különválasztva célszerű megadnunk, a későbbi karbantartást és a HTML-en dolgozók munkáját is megkönnyítve. Ben Nolan most egy behaviour-nek keresztelt technológiával állt elő, ami még könnyebbé teheti a diszkrét Javascript fejlesztői munkánkat.
Bár a behaviour az Internet Explorerben használatos megoldás neve, ezt az elnevezést választotta Ben is a saját ötletének elkeresztelésekor, és a két dolog nem ugyanazt takarja. Elképzelésének lényege, hogy a hagyományos DOM alapú keresésekkel, vagy a megfelelő osztálynévvel ellátott elemek kiemelésein alapuló megoldások helyett CSS kiválasztókat alkalmazhassunk a viselkedés hozzárendelésekhez. A kiválasztók feldolgozásához Simon Willison munkáját használta fel, és segítségével egy egyszerű tömbben megadott viselkedés hozzárendelési listával tudjuk oldalunkat dinamikus tulajdonságokkal ellátni.
■ Bár a behaviour az Internet Explorerben használatos megoldás neve, ezt az elnevezést választotta Ben is a saját ötletének elkeresztelésekor, és a két dolog nem ugyanazt takarja. Elképzelésének lényege, hogy a hagyományos DOM alapú keresésekkel, vagy a megfelelő osztálynévvel ellátott elemek kiemelésein alapuló megoldások helyett CSS kiválasztókat alkalmazhassunk a viselkedés hozzárendelésekhez. A kiválasztók feldolgozásához Simon Willison munkáját használta fel, és segítségével egy egyszerű tömbben megadott viselkedés hozzárendelési listával tudjuk oldalunkat dinamikus tulajdonságokkal ellátni.
MS okosság
Ha már javascripttel kell nekünk CSS szerű kiválasztókat használni akkor lehet, hogy az IE7-nél alkalmazott módszert kéne preferálni. Tehát egy külső fájlt végig nézetni vele.
Egyébként a MS-féle behavior megoldásra van Mozillákhoz kompatibilis megoldás.
dicsőség?
Stuart Langridge saját oldalán már publikált hasonló plugin jellegű megoldást 2003-ban. Itt is az ún. JSES szabályokat a JS tömb nélkül lehet megadni tovább egyszerűsítve a szintaxist, a JSES include ennek feldolgozását is elvégzi.
nem támogatható mindenhol
a távoli fájl
The JSES sheet is retrieved by JavaScript, and therefore must be hosted on the same domain as the HTML page, owing to JavaScript's security restrictions.
Természetesen ez korlát, de vajon mennyire súlyos? Ezt nem látom át egészen.
limitations
OK, elolvastam. Az előző
exited.
Na, ez már igen!
Gyulus