Întoarceți falsul la operatorii de evenimente
După cum știm cu toții, scopul principal al jQuery este de a standardiza comportamentul browserului utilizând un set unificat de metode. jQuery extinde capabilitățile browserului, dacă este posibil, prin integrarea elementelor care nu sunt acceptate de browser în afara casetei. De exemplu, selectorii pe care îi putem folosi fără ezitare - multe dintre ele nu sunt acceptate de browsere vechi, cum ar fi Internet Explorer 6 și 7. (de exemplu, nu, ultimul copil, etc.)
Uneori (deși acestea sunt rare excepții), jQuery se abate de la comportamentul standard. De exemplu, întoarcerea falsă în dispozitivul de procesare jQuery este identică cu apelarea.
În schimb, returnarea instructorilor standard de evenimente false (ca addEventListener ()) este echivalentă cu scrierea:
Puteți verifica acest lucru uitând la partea corespunzătoare a sursei jQuery:
Pseudo-selectorii fac mai mult decât crezi
În documentația jQuery de pe pseudo-selectori, puteți vedea următoarea notă (în acest caz, se referă la caseta de selectare pseudo-selector:):
$ (": Checkbox") este echivalentul $ ("[type = checkbox]"). Ca și în cazul altor selectori de pseudo-clasă (începând cu ":"), se recomandă să le precede cu un nume de etichetă sau cu alți selectori, în caz contrar se va utiliza un selector universal ("*"). Cu alte cuvinte, folosirea unui simplu $ (': casetă de selectare') este echivalentă cu $ ("*: casetă de selectare"), deci utilizați în schimb $ ("intrare: casetă de selectare").
Acum, să aruncăm o privire la codul jQuery în sine:
După cum puteți vedea din cod - documentația nu este chiar adevărată. Selectorul $ (': checkbox') este de fapt echivalent cu $ ('input [type = "checkbox"]'). dacă vă bazați pe ceea ce căutați (atenție la numele === "intrare"), dar verifică toate elementele de pe pagină, indiferent dacă ați apelat cu un selector universal sau nimic.
Acum că știți acest lucru, este posibil să doriți să renunțați la selectorul de elemente atunci când utilizați astfel de filtre și decideți să scrieți:
Dar pentru a îmbunătăți performanța, este mai bine să le folosiți, astfel încât jQuery să nu scaneze toate elementele de pe pagină. Deci, trebuie să utilizați în continuare următoarea expresie:
jQuery.type ()
Chiar dacă ați fi știut despre asta, probabil că ați trecut cu vederea că această metodă este foarte diferită de operatorul de tip built-in. De fapt, jQuery.type () returnează un tip mult mai precis al valorii trecute. Să aruncăm o privire la câteva exemple:
Deci, dacă dezvoltați un plugin pentru jQuery, atunci este posibil să doriți să utilizați jQuery.type () pentru a determina cu mai multă precizie tipul de parametri pe care trebuie să îl ocupați.
attr () poate apela removeAttr ()
Știu că titlul acestei secțiuni poate părea puțin ciudat, dar este adevărat. Pentru aceia dintre voi care nu sunteți familiarizați cu metoda attr (), devine valoarea atributului pentru primul element dintr-un element adecvat sub selector sau setați valoarea unuia sau mai multor atribute pentru fiecare element adecvat.
În plus față de numere și șiruri de caractere, metoda attr () poate lua null ca al doilea argument. Când se întâmplă acest lucru, se comportă ca opusul său: removeAttr (). Ultimul (după cum sugerează și numele) elimină atributul din fiecare element.
Nu mă crezi? Să ne uităm la partea corespunzătoare a codului sursă:
După cum puteți vedea, metoda verifică dacă o anumită valoare a fost trecută (dacă (value! == undefined)) și apoi verifică dacă valoarea este nulă. În acest caz, metoda solicită removeAttr ().
Acest lucru este util dacă doriți să setați sau să eliminați un atribut în funcție de condiție și nu doriți să vă deranjezi codul. De exemplu, puteți scrie:
Folosești acest truc în cod sau nu? Soluția este a ta, dar în locul tău nu aș folosi-o pentru a face codul mai ușor de înțeles.
Transformarea obiectelor matrice în matrice
Ne-ar plăcea să abordăm această listă folosind metoda forEach (). Dacă apelăm pentruEach () direct pe o variabilă (list.forEach (.)), Primim eroarea "Uncaught TypeError: undefined nu este o funcție". Pentru a evita acest lucru, puteți utiliza una dintre cele mai comune tehnici - folosiți proprietatea prototip și metoda call (). după cum urmează:
Un alt tip de înregistrare:
Indiferent de soluția pe care o utilizați, nu este foarte elegantă, atât în scris cât și în lectură. Din fericire pentru noi, jQuery vine în ajutorul nostru. Datorită metodei jQuery.makeArray (), puteți scrie pur și simplu:
Mult mai bine, nu-i așa?
concluzie
Ceea ce poate fi învățat din acest articol, pe lângă cele cinci puncte enumerate, că nici un astfel de proiect magnific și integral ca jQuery nu este, de asemenea, ideal. El are, de asemenea, bug-uri și erori în documentație, iar singura sursă care ne spune adevărul este codul său sursă. Deși, chiar și codul poate minți, nu răspunde intențiilor dezvoltatorului - dar asta eo altă poveste.
Ultima teză - dacă îți place jQuery la fel de mult ca mine - contribui la proiect. Chiar și notificarea unui mic bug sau corectarea unei mici erori în documentație poate simplifica mult viața a milioane de dezvoltatori.
Ultimele 5 lecții din rubrica "jQuery"
Astăzi dorim să vă spunem despre biblioteca TypeIt - un plugin jQuery gratuit. Cu aceasta, puteți simula tastarea. Dacă totul este ajustat corect, puteți obține un efect foarte realist.
jQuery plugin pentru crearea unei cronologii.
jQuery plugin pentru crearea unei diagrame Gantt.
Un exemplu de încărcare a unui fișier prin PHP și jQuery ajax.
dimaloll
Scrieți un articol pe jQuery Live (în direct fiecare)
Prin obținerea de informații imediat prin două canale (vedere și auz), eficiența predării este mult mai mare decât învățarea din cărți. Și temele și testele online vă vor permite să gândiți în mod constant în limba pe care o învățați și să vă verificați imediat cunoștințele!
Dacă doriți să învățați HTML mult timp, atunci am o veste bună pentru dvs.!
Dacă ați învățat deja HTML și doriți să treceți mai departe, următorul pas este să învățați tehnologia CSS.
Dacă doriți să înțeleagă conceptele de domeniu si hosting, învață cum să creeze o bază de date, încărca fișiere pe un site web prin intermediul unui server FTP, crea subdomenii, configurați cutiile poștale pentru site-ul și să monitorizeze participarea, acest curs este conceput special pentru tine!