2011-11-30 14 views
5

Voglio una piccola libreria che faccia il numero DOM4 events. In caso contrario, verrà eseguito un sottogruppo ragionevole di DOM3 events.Libreria eventi javascript modulari

Esiste?

risposte che non sono validi

  • Usa grande quadro X (jQuery, MooTools, prototipi, ecc)
  • qualche libreria che non funziona in IE8
  • biblioteche che non consentono per entrambi fasi di acquisizione e bolla.

ha solo bisogno di lavorare in IE8

+1

[My DOM-shim] (https://github.com/Raynos/DOM-shim/blob/b63f84b48c55edf69fd36b20118a8136b56564bb/src/ie8/interfaces/EventTarget.js) ha fatto un tentativo di attuare 'EventTarget' – Raynos

risposta

2

posso dire con ragionevole certezza che la risposta è no . C'era talk di una biblioteca chiamata DOMe per eventi di livello 3, ma non penso che sia mai decollato.

Ci sono diversi motivi per cui un tale libreria sarebbe difficile:

  • IE 8 non ha mai nemmeno sentito parlare di evento catturare (anche se era in origine l'idea di Microsoft).
  • Gli eventi di mutazione sono praticamente impossibili da ridurre.
  • KeyboardEvent sarebbe un incubo avere ragione a causa di Key Values, non sono sicuro che sia anche possibile provarlo. Questo perché keyCode può variare tra le lingue di input.

Con tutto questo in mente, piccola biblioteca sta cominciando a sembrare un po 'troppo ottimista. Per aggirare il primo problema, è necessario implementare l'intero modello di evento associando un gestore a un evento originale che bolle e pseudo-refire l'evento sui gestori collegati tramite i metodi spaziati, iniziando sul documento e lavorando verso l'evento originale è srcElement/target e di nuovo indietro.

La soluzione più semplice è probabilmente un'altra ragione per cui uno shim non esiste, la maggior parte delle persone limita gli eventi di cui hanno bisogno, se possibile, e cerca di evitare la necessità di acquisire.

+0

Evento cattura è facile, emula l'intero sistema degli eventi, usa semplicemente 'attachEvent' di IE8 e' detachEvent' per collegarlo al tuo sistema di eventi. Gli eventi di mutazione sono facili, non li implementano, sono deprecati. "Valori chiave" sembra un problema difficile. – Raynos