Avatar billede kongknabe Nybegynder
10. november 2006 - 21:13 Der er 12 kommentarer

AJAX og css selectors? (Behaviors)

Hejsa.. Faldt over denne side - http://bennolan.com/behaviour/ - der forklare hvordan man kan skille sin javascript fra sit html, ved at bruge css selectors til at trigger sit javascript. Men fatter ikke en bjælde af hvordan det er meningen det skulle virke.. Er nået så langt som til at forstå at man nok skal hente et eller andet javascript bibliotek der hedder "behaviors" for at kunne gøre det, men kunne godt tænke mig at vide hvordan man selv gør.. sådan helt fra bunden. - Har ledt og ledt og ledt på google men kan intet finde.. Nogle gode tips ?
Avatar billede mclemens Nybegynder
10. november 2006 - 23:31 #1
Man har altid kunnet adskille sit javascript
fra html'en ... I det link du henviser til har
programmøren gjort det ved at lægge to script tags ind:

    <script type="text/javascript" src="behaviour.js"></script>
    <script type="text/javascript" src="style.js"></script>

- style.js indeholder nogle javascript
funktioner der er lagt ind i objectet myrules.
... Det har ikke noget med css at gøre udover den del
at parsingen af hvilke elementer der skal rammes af tingene
i myrules parses via. http://bennolan.com/behaviour/behaviour.js
- som så sørger for at elementerne rammes udfra samme parsing model
som sker ved en css parsing ... har ikke kigget kodningen igennem kun
ladet øjnene glide hen over de to script filer ...

- Det har ikke noget med css at gøre andet end der bruges samme selector model.
Avatar billede mclemens Nybegynder
10. november 2006 - 23:34 #2
Jeg synes ikke at det er en fordel,
hvis man kan scripte, så man laver det
direkte istedet for at bruge scriptet.
Avatar billede kongknabe Nybegynder
11. november 2006 - 02:17 #3
Hmm.. Skulle måske have startet ud med at nævne at jeg absolut ikke er særlig god til Javascript.. Jeg har selvfølgelig prøvet at kigge i koden på det link du henviser til, men forstår den ikke.. Søger derfor hjælp/forklaring.. Altså, gerne links til steder hvor jeg kan finde forlaring.. Forventer ikke at du eller andre forfatter en tutorial til mig her i forum :-D

Du skriver at det ikke har noget med CSS at gøre, men på siden skriver han:

"Behaviour lets you use CSS selectors to specify elements to add javascript events to."

Er godt klar over at det som sådan ikke er i ens CSS man skal lave noget.. Men er simpelthen interesseret i at lære hvordan jeg holder alt mit javascript i et dokument for sig selv og så bruger CSS selctors som target for mit javascript :-) (Hvis det er korrekt formuleret?)
Avatar billede kongknabe Nybegynder
11. november 2006 - 05:49 #4
He he.. Har selv fundet ud af det nu... Det var tilsyneladende så simpelt at ingen har gidet at forklare det nogle steder :-D
Avatar billede mclemens Nybegynder
11. november 2006 - 11:54 #5
[ Det var tilsyneladende så simpelt at ingen har gidet at forklare det nogle steder :-D ] Hmm, syntes at http://bennolan.com/behaviour/ , "How does it work?" og "Documentation" gav en nogenlunde forklaring på implementeringen af selectorerne - selvfølgelig ikke udtømmende og forklarende men med eksempler på hvordan ...

Men en fin todo liste :D
->  * Better documentation
Avatar billede kongknabe Nybegynder
11. november 2006 - 19:24 #6
Kan godt være at det bare er fordi jeg ikke er så god til javascript ( eller lignende programerings sprog ) endnu, men fatter ikke meget af forklaringe.. Tilsyneladende ligger al "magien" i en .js fil med navnet behaviors.js som man skal importere.. og så vidt jeg kan se står der ikke nogen forklaring til hvordan det er lavet!? - Det jeg vil er ikke at benytte mig af Behaviors.js men selv lære hvordan man laver det fra bunden :-)

Var vist i øvrigt lidt for hurtig da jeg i går troede jeg lige havde fået tjek på det hele... Kan ikke helt finde ud af at få det til at virke med "class"
Avatar billede mclemens Nybegynder
12. november 2006 - 00:00 #7
Nåh sådan, troede du mente aktivering af scriptet :D

Hmm, nej der er ingen dybere forklaring på det tekniske i
opbygningen af koden derinde. Man kan selvfølgelig
analysere koden og bygge en ny derudfra, hvis man
kan gennemskue, hvad der er foretaget ...

Umiddelbart vil det dog være bedre, at kode sin egen
parser uden at skimte til kodningen, så risikerer man
ikke, at det bliver kaldt for en efterligning ...

... Jeg tror forklaringen er udeladt
for at få lidt credit i kildekoden ...

- Håber du hitter ud af at få programmeret en fra
bunden, hvis det er det resultat, der er ønsket :)

Ha en god weekend ;)
Mvh, Clemme
Avatar billede roenving Novice
12. november 2006 - 03:02 #8
-- en behaviors er jo ikke en god måde at angribe problematikker på indernettet, da det kun virker, når du bruger een bestemt browser ,-(
Avatar billede kongknabe Nybegynder
12. november 2006 - 16:39 #9
Hvad mener du med at det kun virker i en bestemt browser ?? - Det virker da så vidt jeg kan se i de fleste standart browsers med javascript slået til!? - Man kan selvfølgelig komme ud for at folk har valgt at slå javascript fra men så må de jo slå det til igen hvis de vil besøge siden. Derudover behøver man jo ikke at bruge Behaviors til vigtige nøglefunktioner.. Man kan jo nøjes med at bruge det til at lave lidt øjenguf/forbedre usability på en måde så siden stadig virker hvis man ikke har javascript slået til :-)
Avatar billede roenving Novice
13. november 2006 - 01:11 #10
Javascript virker helt udmærket i alle browsere ...

-- hvis man bruger det i script-enheder i html-kode, men ikke i css-kode !-)
Avatar billede kongknabe Nybegynder
13. november 2006 - 01:40 #11
Er bange for at jeg ikke helt kan følge dig... jeg har selvfølgelig ikke tænkt mig at skrive javascript i min CSS kode.. Det jeg bare gerne vil er at holde alt mit javascript i en .js fil for sig så min html kode bliver ren og uden javascript! Altså i stedet for:

<div id"navn" onclick="function()"></div>

vil jeg nøjes med følgende i min html fil:

<div id="navn"></div>

og så dette i min .js fil:

myDiv = document.getElementById('navn');
myDiv.onclick = function;
Avatar billede olebole Juniormester
13. november 2006 - 09:15 #12
<ole>

Behaviors er en teknik, der hører til under W3C - omend den (vanen tro) ikke er implementeret i alle browsere - samt, der foreløbigt kun foreligger et (gammelt) arbejdspapir:
    http://www.w3.org/TR/becss

MS' måde at bruge behaviors på har afgjort nogle gigantiske fordele - ikke mindst muligheden for at lave isolerede kontroller (implementeret med X(HT)ML-tags), hvis DOM og script-scope er 'hermetisk' adskilt fra sidens DOM. Desværre er man nødt til at emulere tekniken i Gecko-browsere, men i visse (ret specielle) situationer kan det dog godt betale sig  :)

/mvh
</bole>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester