Leggendo un'altra domanda SO sulle prestazioni di jQuery, ho iniziato a pensare al punto in cui vale la pena utilizzare la delega degli eventi piuttosto che legare gli elementi singolarmente. Stavo pensando principalmente a jQuery, ma suppongo che sia probabilmente applicabile per Javascript in generale.Quanti elementi ci vuole per la delega degli eventi per diventare utile?
delegazione evento ha due scopi principali:
- permettendo gestori di lavorare su elementi che non sono ancora stati creati/inseriti nel DOM.
- vincolante una funzione a un elemento comune antenato piuttosto che a più elementi di pari
mia domanda riguarda il secondo di questi. La risposta generale sarà probabilmente "dipende dalla situazione esatta", ma mi chiedo se esiste una regola empirica o un metodo di benchmarking per testarlo.
Quindi, la domanda è: quanti elementi sono necessari prima che i vantaggi prestazionali della delega dell'evento superino i costi delle prestazioni?
non lo faccio conoscere i costi delle prestazioni della delega degli eventi ... Che cosa sono? Gli eventi si illuminano comunque e il target dell'evento è archiviato sempre nella proprietà corrispondente dell'oggetto evento. –
@Sime Il principale a cui avevo pensato era che ogni volta che viene attivato un evento, il selettore nella chiamata del delegato deve essere eseguito per verificare se corrisponde alla destinazione dell'evento. Potrebbero essercene altri ... – lonesomeday
Considerare che quando si utilizza la delega, si sta effettivamente distribuendo il costo dei gestori di binding nel corso della durata della pagina. Quando esegui il binding trovando prima gli elementi, aggiungi più lavoro al momento del caricamento della pagina, quando gli utenti sono più sensibili ai ritardi. – Pointy