Nume Tutorial:JavaScript - Inregistrare Detectare Evenimente
Descriere:JavaScript - Inregistrare Detectare Evenimente
Download:
Autor:
Sursa (Link-ul oficial):
Propria parere:Enjoy!
Tutorialul:Inregistrare event handlers
Metoda veche de a executa anumite instructiuni, sau o functie cand un eveniment e declansat, e prin adaugarea acestuia in tag-ul HTML in care evenimentul trebuie detectat.
De exemplu, cand un utilizator apasa click pe acest link, "onclick" detecteaza aceasta actiune si apeleaza functia oFunctie():
<a href="#" onclick="oFunctie();" title="Text">Link</a>
• Se pot inregistra "event handlers" fara a-le adauga in tag-ul HTML.
Cea mai buna metoda de inregistrare de detectare a evenimentelor, care e cross–browser (recunoscuta in toate principalele navigatoare web), este cu aceasta sintaxa:
element.event_handler = oFunctie;
- element reprezinta elementul ce declanseaza evenimentul respectiv (event_handler), care va executa functia oFunctie.
- Observati ca la inregistrarea evenimentului nu se folosesc parantezele () la numele functiei accesate.
Exemplu, la click pe un anumit DIV, e afisata o fereastra Alert:
<div id="dvid" style="width:100px; background:#a8eda9; cursor:pointer;">Click here</div>
<script type="text/javascript"><!--
var elm = document.getElementById('dvid'); // preia elementul
// functie executata cand se produce evenimentul
function oFunctie() {
alert('Eveniment click detectat');
}
// inregistrare event handler onclick
elm.onclick = oFunctie;
--></script>
Event handler si functie anonima
Functia apelata la declansarea evenimentului poate fi creata direct in expresia de inregistrare a event handler-ului.
Sintaxa:
element.event_handler = function() { // codul ce va fi executat };
Exemplu:
<div id="dvid" style="width:100px; background:#a8eda9; cursor:pointer;">Click aici</div>
<script type="text/javascript"><!--
var elm = document.getElementById('dvid'); // preia elementul
// inregistrare event handler onclick
elm.onclick = function() {
alert('Detectare click - functie anonima');
};
--></script>
• Pentru a sterge detectarea evenimentului, i-se atribuie valoarea null :
element.event_handler = null;
- Exemplu. Cand utilizatorul plaseaza cursorul peste DIV-ul cu id="dvid", se afiseaza o fereastra Alert, apoi se sterge detectarea "onmouseover" la acel element, astfel, cand utilizatorul muta a doua oara cursorul peste acel DIV nu se intampla nimic.
<div id="dvid" style="width:100px; background:#a8eda9;">Mutati cursorul aici.</div>
<script type="text/javascript"><!--
var elm = document.getElementById('dvid'); // preia elementul
// inregistrare event handler onmouseover
elm.onmouseover = function() {
alert('Plasati inca o data cursorul pe acel text');
elm.onmouseover = null; // sterge inregistrarea
};
--></script>
Cuvantul this
In JavaScript, cuvantul this (acesta) reprezinta mereu "proprietarul" functiei. In cazul evenimentelor, this reprezinta elementul HTML care declanseaza evenimentul.
- Exemplu. La click pe tag-ul cu id="dvid", JavaScript preia continutul din el, il afiseaza intr-o fereastra Alert, apoi ii modifica culoarea background.
<div id="dvid" style="width:125px; background:#a8eda9; cursor:pointer;">Exemplu cu this</div>
<script type="text/javascript"><!--
var elm = document.getElementById('dvid'); // preia elementul
// inregistrare event handler onclick
elm.onclick = function() {
// preia continutul HTML din elementul curent (cel ce declanseaza evenimentul)
var elm_cnt = this.innerHTML;
alert(elm_cnt); // alert acel continut
// setare culoare background la elementul curent
this.style.background = 'blue';
};
--></script>
Inregistrare si Detectare eveniment cu addEventListener()
Exista inca un mod de inregistrare pt. detectarea evenimentelor in pagina web, si anume cu metoda addEventListener().
Sintaxa:
element.addEventListener('event', oFunctie, use_capture);
- event - e un sir cu tipul de eveniment ce trebuie detectat, fara prefixul "on" ("click", "mouseover", "mouseout", ...).
- oFunctie - o functie accesata cand "event" e declansat.
- use_capture - (optional) o valoare booleana (true sau false). Determina daca evenimentul trebuie executat in faza de capturare sau in faza de "bubbling". Daca nu stiti sigur ca trebuie intr-o faza anume, folositi false (bubbling).
Aceasta metoda nu e suportata de toate navigatoarele web principale, astfel ca e mai bine sa folositi modul traditional, prezentat mai sus.
- Exemplu. Cand mouse-ul e deasupra unui element LI, capata o culoare de fundal verde, cand cursor-ul iese din zona acelui <li> se elimina culoarea de fundal.
<ul>
<li>WebDevelopment - www.coursesweb.net</li>
<li>Cursuri gratuite - www.marplo.net</li>
<li>Manual PHP - www.php.net</li>
</ul>
<script type="text/javascript"><!--
var elm_li = document.getElementsByTagName('li'); // preia toate tag-urile <li>
// functie executata la mouseover
function over() {
// seteaza o culoare de fundal la elementul curent
this.style.background = '#07da08';
}
// functie executata la mouseout
function out() {
// sterge culoarea de fundal a elementului curent
this.style.background = 'none';
}
// parcurge obiectul cu elementele LI
for(var i=0; i<elm_li.length; i++) {
// inregistrare mouseover si mouseout la fiecare LI
elm_li.addEventListener('mouseover', over, true);
elm_li.addEventListener('mouseout', out, false);
}
--></script>
Demo (miscati cursorul pe lista de jos):
WebDevelopment - www.coursesweb.net
Cursuri gratuite - www.marplo.net
Manual PHP - www.php.net
• Pentru a sterge inregistrarea de detectare a unui eveniment cu addEventListener(), se foloseste metoda removeEventListener():
- [EuropaCs] Zona Administrativa
- - Regulament
- - Anunturi
- - Esti nou? Prezinta-te!
- - Cerere DNS
- - Cerere Parteneriat
- - Propuneri forum
- - Recomandari
- - Evenimente
- - - Big Events
- - - Proiecte
- - - Concursuri
- - - Evenimente Externe
- - Zona Staff
- - - Reclamatii
- - - Absente/Retrageri Staff
- - - Adunare Staff
- - - Adunarea Designerilor
- - - Adunarea Detinatorilor
- - - Adunarea Managerilor
- - - Adunarea Moderatorilor
- - - Adunarea Mod. G.
- - - Adunarea Conducerii
- - - ePoints
- - - ePremium
- - - Productii
- - - Pareri Staff
- - Zona Cererilor
- - - Cerere Admin Server
- - - Cerere Moderator
- - - Cerere Manager Resurse
- - - Cerere Designer
- - - Cerere Moderator Global
- - - Cerere Schimbare Nume
- - - Cerere Adaugare Warn
- - - Cerere Scoatere Warn
- - - Cerere Adaugare Ban
- [EuropaCs] Servere
- - ZmX.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea serverului
- - - Cereri Admin/Slot/VIP
- - - Obligatii Admin/Slot/VIP
- - - Cereri Marire Grad
- - - Cereri Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista Ban-uri
- - - Cereri Ban
- - - Cereri Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare probleme
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Status
- [EuropaCs] Tutoriale, Resurse, Suport
- - Tutorial si Resurse Counter Strike 1.6
- - - Tutoriale Counter Strike 1.6
- - - Tutoriale Mapping
- - - Resurse Counter Strike 1.6
- - - - Config-uri
- - - - Addons-uri
- - - - Pluginuri
- - - - Moduri
- - - - Kit-uri Cs
- - - - Servere gata facute
- - - - Harti
- - - - Server Creator
- - - - Skin-uri
- - - - Script-uri
- - - - Sunete
- - - - Programe Folositoare
- - - - Tatuaje
- - - - Anticheat
- - Tutoriale si Resurse Counter-Strike:Global Offensive
- - - Tutoriale Counter-Strike:Global Offenisve
- - - Resurse Counter-Strike:Global Offensive
- - - - Pluginuri
- - - - Harti
- - - - Script-uri
- - - - Programe Folositoare
- - - - Mod-uri
- - - - Addons-uri
- - - Arhiva Resurse
- - Suport Counter-Strike
- - - Cerere Addons-uri
- - - Cerere Pluginuri
- - - Cerere Config-uri (CFG)
- - - Cerere Motd-uri
- - - Cerere Tutoriale
- - - Probleme Servere
- - - Problema Pluginuri
- - - Problema Client (Joc)
- - - Diverse Probleme
- - Tutoriale si Resurse WEB
- - - Design si WebSite Review
- - - Index-uri ( Intro)
- - - Script-uri
- - - Script-uri Gratis
- - - Teme phpBB3
- - - Resurse Web
- - - Tutoriale HTML
- - - Tutoriale PHP
- - - Tutoriale JS
- - - Tutoriale CSS
- - - Tutoriale C / C++ / C#
- - Asistenta Counter-Strike | EuropaCs
- - - Anunturi
- - - Addons-uri Configurate de EuropaCs
- - - Pachete de Harti (Mape)
- - - Tutoriale Forum Originale
- - - Tutoriale Counter Strike Originale
- - - Pluginuri Recomandate
- [EuropaCs] Design 2D & 3D
- - Tutoriale si Resurse
- - - Tutoriale 2D & 3D
- - - Resurse
- - Creatii 2D & 3D
- - Cereri 2D & 3D
- - Provocari
- - Competitii
- - - Competitii EuropaCs
- - Cadouri
- - Diverse
- [EuropaCs] Cafenea
- - Jocuri
- - - Reviews Jocuri
- - - Giveaways
- - - Probleme si Intrebari
- - - Discutii
- - Zona IT
- - - Tutoriale IT
- - - Hardware
- - - Software
- - - Comunicatii
- - - - Android
- - - - SymByan
- - - - IOS
- - - Stiri IT
- - - Calculatorul Meu
- - Social
- - - Cultura generala
- - - Descoperiri
- - - Educatie
- - - Sport
- - - - Fotbal
- - - Auto/Moto
- - - Filme & Seriale
- - - - Filme
- - - - Seriale
- - Bazar
- - - Vanzari
- - - Cumparari
- - Probleme si Intrebari
- - Discutii
- - War2.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Inscrieri
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Lista de Demo si Poze
- - - Discutii
- - - Revizualizare
- - - Status
- - Zm2.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - [EuropaCs] Competitii si Turnee
- - - League of Legends
- - - - Anunturi
- - - - Provocari
- - - - Recrutare
- - - - Free to Win #11
- - - - Discutii
- - - Counter-Strike:Global Offensive
- - - - Anunturi
- - - - Provocari
- - - - Recrutare
- - - - Competitii CS:GO
- - - - Discutii
- - Pro.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Arena.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Cerere Marire Grad
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Status
- - ZmC.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Mix.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Staff Server
- - - Cereri Admin
- - - Cereri Unban
- - - Reclamatii
- - - Status
- - [EuropaCs] Legaturi
- - - Inregistreaza-te
- - - Grup Steam
- - - Clan GameTracker.Com
- - - Afilieri servere
- - Nume.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea serverului
- - - Cereri Admin/Slot/VIP
- - - Obligatii Admin/Slot/VIP
- - - Cereri Marire Grad
- - - Cereri Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista Ban-uri
- - - Cereri Ban
- - - Cereri Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare probleme
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Status
- - FuNNy.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea serverului
- - - Cerere Admin/Slot
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Furien.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Fury.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - CsMedias.EuropaCs.Ro
- - - Regulament
- - - Anunturi Generale
- - - Staff Only
- - - Cereri Accese
- - - - Cereri Admin
- - - - Cereri Slot
- - - - Cereri VIP
- - - Cerere Schimbare Nume Admin
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Discutii
- - - Arhiva Serverului
- - - Statistici GameTracker.Com
- - - Status
- - Respawn.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Factory.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Fatal.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cereri Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Cs.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Zm.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Servere Counter Strike 1.6
- - - Zm.EuropaCs.Ro
- - - - Regulament
- - - - Anunturi
- - - - Administrare Server
- - - - Conducerea serverului
- - - - Cereri Admin/Slot/VIP
- - - - Obligatii Admin/Slot/VIP
- - - - Cereri Marire Grad
- - - - Cereri Schimbare Nume Admin
- - - - Evenimente
- - - - Promovari & Sanctionari
- - - - Reclamatii
- - - - Lista Ban-uri
- - - - Cereri Ban
- - - - Cereri Unban
- - - - Absente & Retrageri
- - - - Propuneri & Sugestii
- - - - Raportare probleme
- - - - Discutii
- - - - Arhiva serverului
- - - - Statistici GameTracker.Com
- - - - Status
- - ZmX.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- [EuropaCs] Arhiva
- - Arhiva Publica
Cine este conectat
Utilizatori răsfoind acest forum: Niciun utilizator înregistrat și 1 vizitator

