2013-06-25 14 views
5

Sto cercando di capire gli eventi (come: click, keyPress ...) in js. Ma quando ho studiato online, ho visto che parlava molto di "eventi DOM". Quindi la mia domanda è js eventi uguale agli eventi DOM? In caso contrario, qual è la differenza?qual è la differenza tra gli eventi js e gli eventi DOM?

+3

Non esiste una cosa "ufficiale" come un "evento js", quindi è necessario spiegare esattamente cosa intendi quando usi quel termine. Gli eventi DOM possono essere ascoltati tramite js. Una determinata libreria js può creare il proprio sistema di eventi al fine di notificare altri pezzi del proprio codice su determinate azioni. – jfriend00

risposta

0

Un evento è un sistema quando determinate azioni eseguite sono registrate e possono essere gestite. Come fare clic su un pulsante, passare con il mouse su una casella, selezionare del testo o persino ricevere un nuovo messaggio su un determinato canale.

In js, gli eventi DOM sono eventi standard che corrispondono a azioni eseguite direttamente su un elemento nel DOM, ad esempio quando l'utente fa clic su qualcosa, l'evento click (direttamente corrispondente all'utente che fa clic sul pulsante) viene attivato e qualsiasi Verranno chiamati i gestori di eventi associati all'elemento. Ecco un elenco di eventi: https://en.wikipedia.org/wiki/DOM_events Questi sono riconosciuti e supportati dai browser e sono attivati ​​in modo nativo.

Molte librerie js creano il proprio sistema di eventi su questi eventi DOM. Si avvolgono attorno all'elemento che viene ascoltato e quando viene attivato un evento, propongono l'evento alla funzione di gestione

Possono anche supportare eventi personalizzati su DOM o qualsiasi altro oggetto facendo in modo che l'utente chiami una funzione specifica come

obj.on("receive", function(){alert("Hello")}) 


//Later 
obj.trigger("receive") 

Quindi la funzione anonima (visualizzare un avviso) verrà chiamato ogni volta che si attiva l'evento di ricezione. Quello che succede qui è che la funzione on manterrà una lista di gestori collegati all'oggetto e la funzione di trigger chiamerà ciascuno e li chiamerà utilizzando tutti i dati richiesti

0

Dom Eventi: Questo evento eseguono sul componente DOM per eseguire determinate azioni su di essa come (eventi/proprietà, ecc)

Js Eventi: Questi eventi si esibiranno azione sul contenuto dell'oggetto DOM come (convalida (condizione), espressione, metodi sull'oggetto Dom, ecc.)

2

Gli eventi DOM si attivano quando il DOM cambia o interagisce con l'utente e sono eventi Javascript. Leggere tutti: http://www.w3schools.com/jsref/dom_obj_event.asp

Oltre agli eventi DOM, è possibile definire i propri oggetti evento in Javascript e utilizzare il metodo "dispatchEvent" per attivare quell'evento. Ad esempio:

var event = new Event('build'); 

// Listen for the event. 
elem.addEventListener('build', function (e) { ... }, false); 

// Dispatch the event. 
elem.dispatchEvent(event); 

In breve, si può pensare che gli eventi DOM siano eventi Javascript nativi che si attivano dagli elementi DOM. Mentre un evento Javascript può essere un evento DOM o un evento personalizzato

1

Un evento DOM è qualsiasi evento che elementi o oggetti nel DOM ascolta. Ad esempio, un clic del pulsante, un tasto di immissione del testo, un passaggio del mouse. Generalmente gli eventi DOM sono attivati ​​da una sorta di interazione dell'utente (eventi del mouse, eventi della tastiera, invio di moduli, ecc.). Tuttavia, gli eventi DOM possono essere attivati ​​programmaticamente.

Ci sono altri eventi che non sarebbero considerati come eventi DOM, ad esempio:

  • risposta AJAX (onreadystatechange)
  • messaggio WebSocket ricevuto (MessageEvent)
  • dati LocalStorage modificati (storage)
Problemi correlati