Pune un clac pe
Pentru metoda de ajutor addEventListener() am introdus elementul
- o copie a clicului „click” (apăsând butonul stâng al mouse-ului pe element), care pentru putere suplimentară a obiectului țintă Eveniment schimbă numele etichetei elementului, iar ca valoare a valorii valorii „LI ", apoi modifică stilul de culoare al textului verdeaţă când spratsovanni. Pentru respect, cel mai convenabil este să instalați un eșantion pentru elementul Batkiv și nu pentru elementul skin, este deosebit de important atunci când schimbați numărul de elemente în mod dinamic, caz în care este necesar să actualizați mostrele pentru elemente.
- Abonați-vă prin cod HTML (nu este recomandat să tweetați).
- Prin codul JavaScript pentru a ajuta la setarea elementului de putere pe[pod_ya] , de [pod_ya] - tse im'ya sevnoї podії.
- Prin cod JavaScript pentru a ajuta metoda specială addEventListener.
- Găsiți elementul (obiectul) în arborele DOM, pe baza căruia doriți să plătiți în plus.
- Oferă obiectul găsit de putere, deoarece mama este vinovată de o astfel de privire:
on [podіya], de [podіya] - tse im'ya singing podії.
După care este necesar ca autoritățile să aducă o probă, tobto. funcția este atribuită deacu-ului, așa cum urmează a fi vikonuată în momentul de față. - eveniment (obv'yazkovy) - im'ya podії, pe modul în care doriți să vă abonați (ascultați);
- callback (obv'yazkovy) - funcție (numită anonim), ca modalitate de conversie a subdiviziunii;
- faza (nu obov'yazykovy) - etapa, care are o schimbare a inimii. Acest parametru ia 2 valori: true (în stadiul de îmbinare (debordare) sub) și false (în stadiul de îmbinare sub). Dacă acest parametru nu este specificat, valoarea va fi false.
- subtip: un rând care specifică tipul de subtip, pentru care este înregistrat un sampler. Tipul de subtip trebuie specificat fără prefixul on.
- obrobnik: funcția viraz sau numele funcției, deoarece este vinovat de a apela atunci când subtipul este atribuit tipului.
- fază: valoare booleană, ceea ce înseamnă că pentru ce fază va fi înregistrată extensia. Valori posibile:
- true – înregistrați un eșantion de jurnal pentru faza de depășire.
- false – Înregistrați semnătura pentru faza de fuziune.
- Ni.
Dacă este specificată valoarea logică true, atunci funcția specificată de interceptător nu este în niciun fel responsabilă pentru promovare (includeți metoda preventDefault()). Chiar dacă metoda preventDefault() este încă dezactivată, browserul o va ignora și va crea un avertisment în consolă. Valoarea logică false indică faptul că funcția de verificare poate verifica promoții (puteți apela metoda preventDefault()).
Având în vedere specificația, valoarea pentru blocarea pentru parametrul pasiv trebuie să fie întotdeauna falsă. Cu toate acestea, dă posibilitatea interceptatorilor să asculte, să blocheze fluxul principal al browserului atunci când încearcă să deruleze, ceea ce poate duce la o scădere semnificativă a productivității pe oră de defilare.
Pentru a rezolva aceste probleme, browserele deyaki (zocrema, і ) a schimbat valoarea din spatele trecerii pasive la true pentru subdiviziunile touchstart și touchmove ale nodurilor egale cu documentul Window , Document și Document .body. Tse zabіgaє vikliku interceptarea podіy, care nu poate bloca vіbrаzhennya storіnki pіd hоrkuchuvannya.
Nu trebuie să vă faceți griji cu privire la valoarea pasivă pentru sub-scroll-ul de bază (scroll), este imposibil să spuneți cioburi, ascultătorii nu pot bloca afișarea barei laterale în orice moment.
Nuanțele vocalizării lui tsgogo în obrobnik podії
De regulă, este necesar să transferați un element, pe care este utilizat indicele, este deosebit de important atunci când utilizați un indice specificat pentru elemente de același tip. Cum să adăugați o funcție primară pentru a găsi un element după o metodă de ajutor addEventListener(), atunci această valoare din mijlocul unei astfel de rutine va fi atribuită elementului. Valoarea acestuia va fi în concordanță cu valorile puterii curentuluiTarget la argumentul obiectului sub-eveniment, care este transmis sub-obiectului, de exemplu:
element.addEventListener(„clic”, funcția ( e) (consola .log(acest .className); // scoate la consolă valoarea de putere a className a elementului elem console .log( e.currentTarget === aceasta); // Adevărat)))Pentru a acorda atenție unui moment important, al cărui sens poate fi schimbat, de exemplu, funcțiilor săgeților nu le pasă de contextul căruia și în care caz nu vă veți baza pe element:
element.addEventListener(„clic”, ( e) => (consola .log(acest .className); // acesta nu este setat la elem console .log( e.currentTarget === aceasta); // fals)Să aruncăm o privire mai atentă asupra situației, pentru care un eșantion de indicații este un atribut al HTML element. Codul JavaScript Valoarea atributului este ambalată efectiv de funcția de colector, astfel încât valoarea atributului este afișată în modul în care se potrivește cu metoda addEventListener()(aceasta în cod reprezintă o forță asupra elementului):
id = "btn" type = "button" onclick = "console.log(this.id)" > // afișează în consolă valoarea valorii id-ului elementuluiCând apăsați pe un element
Acordați atenție momentului important, valoarea acestuia în mijlocul funcției myFunc()Îl vom trimite obiectului global Window, altfel vom seta valoarea la nedefinit în acest caz, ceea ce înseamnă că este specificat modul strict ( modul strict).
Pentru a trece contextul necesar, puteți potrivi metoda call() a obiectului Function, care vă permite să apelați (vezi) funcția ca metodă a obiectului, setând contextul (this) pentru valoarea specificată, trecând în argumentele necesare:
id="btn" type="button" onclick="myFunc.call( acest )"> <-- добавляем атрибут событий onclick -->În acest caz, când apelați podul, consola va afișa valoarea atributului global al elementului care a apelat podul.
În aceste articole, putem privi diferite moduri, pentru ajutorul cărora vă puteți abona la subelementele paginii web. Una dintre modalitățile de a se baza pe atribute HTML personalizate, celelalte două moduri sunt prin JavaScript cu putere suplimentară activată sau metoda addEventListener().
Cum pot plăti anticipat taxa?
Abonament la pod prin HTML
Tsei sposib ґruntuєtsya pe atributul vikoristannі, care poate arăta pe [podіya], de [podіya] - tse im'ya singing podії.
Funcții de bază: adăugați un singur atribut elementului (de exemplu: onclick - de: on înseamnă sub și click - tipul de sub) la valorile care înlocuiesc operatorul sau funcția. Acest operator sau funcție va fi verificată la valoarea curentă a elementului.
De exemplu, adăugați un clic la subbuton, când apare, va afișa o solicitare pentru metoda de alertă de ajutor:
Deoarece este necesar să se marcheze codul în exemplul de cod, este necesar să se marcheze funcția.
De exemplu, pentru îndrumare, există un fund mai larg cu diferite funcții:
De exemplu, adăugați un clic la subbuton, când este setat, funcția este afișată:
Această opțiune de abonare la abonament nu este recomandată, deoarece wine nu caracterizează doar codul HTML, ci poate fi și definit, legat de wildcard-urile obiectului eveniment, cuvântul cheie this și în.
Acest mod de abonare la sub se face prin JavaScript pentru ajutorul elementului de autoritate pe [sub] . Principiul principal al acestei metode este folosit în ofensivă:
De exemplu, adăugați la butonul care poate face clic pe id="myButton", când este setat, funcția este afișată:
//Găsiți elementul pe sub, dacă doriți să plătiți în avans var myButton = document.getElementById("myButton"); //adăugați obiectului puterea pe care o poate avea pe[pod_ya] //când clicul este setat, funcția myFunction este dezactivată myButton.onclick = myFunction; //funcția myFunction function myFunction() ( //codul funcției //... )
Dacă autoritatea este setată printr-un atribut, atunci browserul, când citește codul HTML, creează automat autorizarea. Tobto. browser pratsyuє z podіyami rareori pentru ajutorul autorităților vіdpovіdnih ale obiectului (elementului).
Yakshcho Tu semnezi pe partea de jos a unui alt mod, tobto. prin atribut și cu putere suplimentară, atunci browserul va avea mai multe opțiuni pentru implementarea sub-ului, făcând cu ochiul cu putere suplimentară. Este mai bine să nu vă abonați la podії mai bine pentru ajutorul autorităților obiectului (elementului), nu este recomandat să câștigați atributele în aceste scopuri.
Abonarea la un sub prin JavaScript pentru ajutorul metodei addEventListener
Acest mod de abonare la un sub se face prin cod JavaScript în plus față de metoda specială addEventListener. Această metodă de plată anticipată este cea mai bună și este recomandată de standard.
Metoda addEventListener de atribuire pentru adăugarea unui ascultător (ascultător) la un ascultător de melodie (eveniment) la un element și un apel invers atunci când are loc. Pe lângă metoda addEventListener, mai există o metodă removeEventListener, care este utilizată în scopul acestei funcții. ascultător.
Sintaxa metodelor addEventListener și removeEventListener este:
Element.addEventListener(eveniment, callback, fază); element.removeEventListener(eveniment, callback, fază);
Metoda addEventListener are 3 parametri:
De exemplu, folosind o funcție anonimă pentru a procesa „clic” secundar:
Element.addEventListener(„clic”, funcția ( //... ));
De exemplu, folosind funcția myFunction() pentru a gestiona sub „clic”:
Element.addEventListener("click", myFunction); //funcție funcția myFunction funcția myFunction() ( //... )
Adeptul pe care l-ați adăugat la metoda helper addEventListener() poate fi, dacă este necesar, eliminat în metoda helper removeEventListener(). Este posibil să vedeți găsitorul doar în acest caz, ca în metoda addEventListener() de sarcini într-o funcție numită. Deși ați setat o căutare pentru o funcție aparent anonimă în metoda addEventListener(), nu o puteți vedea în spatele metodei helper removeEventListener().
De exemplu, adăugați și apoi eliminați rutina myFunction pentru obiectul subdocument mousemove:
//adăugați pentru submousemove obiect document de gestionare, atribuiri pentru funcția asemănătoare myFunction document.addEventListener("mousemove",myFunction); //Vizibilitatea pentru mânerul documentului subdocument al obiectului mousemove, sarcini pentru funcția vizuală myFunction document.removeEventListener("mousemove", myFunction);
Document.addEventListener("click",myFunction); function myFunction() (alerta("Iubesc JAVASCRIPT!"); )
De exemplu, adăugați o stropire de fișe de date, care va fi victorioasă în cazul unui atac în zona căreia îi aparține documentul:
Document.addEventListener("click",myFunction1); document.addEventListener("click",myFunction2);
De exemplu, dați mânerelor obiectului document pentru următoarele subsecvente: click , mouseover , mouseout .
Document.addEventListener("mouseover",myFunction1); document.addEventListener("click",myFunction2); document.addEventListener("mouseout",myFunction3);
De exemplu, pentru a transfera valoarea parametrilor către sampler, vom folosi o funcție anonimă. Pentru această funcție anonimă, vom câștiga o funcție (numită) pentru una suplimentară, căreia îi vom transmite parametrii necesari:
Document.addEventListener("click",function() ( myFunction(parametru1, parametru2); ));
De exemplu, când faceți clic pe un document, schimbați culoarea de fundal a elementului body. Obrobnik podії vykonati v vyglyadі anonimnoї funktsії.
Document.addEventListner("click",function() ( document.body.style.backgroundColor = green; ));
Cum să exersezi corect cu podia
Exersarea în JavaScript cu un document HTML (DOM-tree) și procesarea datelor este necesară doar dacă partea este interesată:
//Dacă întreaga pagină este ocupată, numim funcția noastră pageInit window.addEventListener(„load”, pageInit); //funcție pageInit() funcție pageInit() ( //abonarea la sub)
Window.addEventListener("încărcare", function() ( //abonarea la sub)
Este mai corect să lucrați nu cu subtitrarea de încărcare (apare după ce pagina este încărcată complet), ci cu submeniul DOMContentLoaded, așa cum se întâmplă după ce browserul a capturat documentul HTML și a solicitat arborele DOM. Tobto. Pentru a lucra cu arborele DOM, nu este nevoie să verificați până când toate resursele părții HTML sunt suficiente pentru ca browserul să trezească arborele DOM.
//Document HTML încărcat și arborele DOM a generat document.addEventListener("DOMContentLoaded", pageInit); //funcție pageInit() funcție pageInit() ( //abonarea la sub)
Codul de mai sus poate fi scris mai scurt, pentru o funcție anonimă suplimentară:
Document.addEventListener("DOMContentLoaded", function() ( //abonarea la sub)
O oră pentru a semna pe partea de jos a obiectului o dată
De exemplu, semnați în partea de jos a clicului odată ce toate elementele p. Înlocuiește funcția auxiliară myFunction():
Document.addEventListener("DOMContentLoaded", function() ( var elementsP = document.getElementsByTagName ("P"); pentru (var i=0; i< elementsP.length, i++) { elementsP[i].addEventListener("click", myFunction); } } //функция myFunction() function myFunction() { //... }
Descriere
Metoda addEventListener() înregistrează un ascultător pentru obiectul țintă (eventTarget) care va fi apelat de la diferiți ascultători. Un obiect util ar putea fi un obiect Element, Document, Window sau un alt obiect care îl acceptă, de exemplu, cum ar fi XMLHttpRequest.
Sintaxă
eventTarget.addEventListener(tip_pod, handler, fază);Argumente
Semnificație care se transformă
Notă: metoda addEventListener() poate fi făcută clic de mai multe ori și înregistrată cu orice număr de colectori de date diferiți pentru același tip de eveniment în același obiect țintă. La trimiterea la obiect, toate mostrele înregistrate pentru tipul de abonament atribuit vor fi apelate în ordinea înregistrării lor.încerca
la fund
Procesarea podului
Programele client pe JavaScript mobil se bazează pe modelul de programare, dacă programele sunt acceptate de subs. Cu acest stil de programare, browserul web generează un Pod dacă există vreun element posibil în document. De exemplu, un browser web generează un pod, dacă finalizează capturarea unui document, dacă trimite un mesaj mouse-ului sau dacă apasă o tastă de pe tastatură.
Pentru ca un program JavaScript să apeleze un singur subtip pentru un singur element dintr-un document, acesta poate înregistra una sau mai multe funcții care vor fi apelate atunci când este apelat subtipul. Mite pe uvazі, dar nu este o caracteristică unică a programării web: toate programele cu o interfață grafică koristuvacha fac același lucru - verifică în mod constant, deocamdată va fi (de verificat în partea de jos) și va fi verificate pentru cele care sunt.
Tipul pod- Ordinul, care semnifică tipul de bricolaj, care a provocat podiumul. Tipul „mousemove”, de exemplu, înseamnă că difuzorul a mutat intrarea mouse-ului. Tipul „keydown” înseamnă că o tastă este apăsată pe tastatură. Iar tipul „încărcare” înseamnă că documentul (sau altă resursă) a fost încărcat din măsură. Oskіlki tip podії - este doar un rând, yoga este uneori numită cu numele podії.
Scop- tse obiect, pentru care vinil are o podia, sau pentru care podia este legat. Dacă vorbești despre podia, știi tipul și metoda podia. De exemplu, sub „încărcarea” obiectului Window sau sub elementul „click”.
Obrobnik podії- tse funktsіya, yak obroblyaє, chi v_dgukuєtsya podіya. Programul trebuie să-și înregistreze funcția de colector de pod în browser-ul web, specificând tipul de pod care țintă. Dacă obiectul țintă specificat are un subtip de tipul specificat, browserul va schimba numele. Dacă podobnik-urile sunt apelate pentru orice obiect, se spune uneori că browser-ul a „distrus” sau „generat” podul.
Obiect de depunere- tse ob'єkt, po'yazaniya z sing podієyu i stіtіt іnformatsiyu pro tsiu podіyu. Obiectele pod sunt transmise funcției de gestionare a obiectelor secundare ca argument (pentru IE8 și versiunile anterioare, obiectul secundar nu mai este disponibil ca eveniment de modificare globală). Obiectele cu mustață sunt sub putere tip, care semnifică tipul de subdiviziune, acea putere ţintă, Ceea ce determină modalitatea de depunere.
Pentru tipul de piele de subdiviziune, un set de puteri este atribuit obiectului asociat. De exemplu, obiectul de a lovi partea de jos a mouse-ului, include coordonatele mouse-ului, iar obiectul de a lovi partea de jos a tastaturii, pentru a elimina informații despre tastele apăsate și despre tastele-modificatoare apăsate. Pentru tipurile bogate de subtipuri, sunt atribuite numai puteri standard, cum ar fi tipul și ținta, și nicio informație de bază suplimentară nu este transmisă. Pentru astfel de tipuri de subdiviziuni, însăși prezența subdiviziunilor este importantă, iar alte informații nu sunt importante.
Fund lărgit- procesul tse, la ora caruia browser-ul este spart, pentru unele obiecte, urmatorul click si etichetele sunt corecte. În cazuri diferite, atribuite unui singur obiect (cum ar fi „încărcarea” obiectului Window), necesitatea zilelor extinse ale acestora. Cu toate acestea, dacă dați vina pe o melodie dintr-un element al unui document, aceasta se extinde sau se îmbină în sus de-a lungul arborelui documentului.