Sto usando RequireJS e ho bisogno di inizializzare qualcosa su DOM pronto. Ora, RequireJS fornisce il domReady
plug-in , ma abbiamo già jQuery $(document).ready()
, che è disponibile per me poiché ho richiesto jQuery.
Quindi ho due opzioni:
Usa il
domReady
plugin:require(['domReady'], function (domReady) { domReady(function () { // Do my stuff here... }); });
Usa
$(document).ready()
:$(document).ready(function() { // Do my stuff here... });
Quale dovrei scegliere e perché?
Entrambe le opzioni sembrano funzionare come previsto. Non sono fiducioso in quello di jQuery perché RequireJS sta facendo la sua magia; cioè, poiché RequireJS aggiungerà dinamicamente gli script, sono preoccupato che il DOM ready possa verificarsi prima che tutti gli script richiesti dinamicamente vengano caricati. Considerando che, RequireJS aggiungerà un peso su JS aggiuntivo solo per domReady
quando ho già richiesto jQuery.
Domande
- Perché RequireJS fornisce un
domReady
plugin quando possiamo avere jQuery$(document).ready();
? Non vedo alcun vantaggio nell'includere un'altra dipendenza. - Se è solo per soddisfare un bisogno, perché non fornirne uno per AJAX cross-browser?
Per quanto ne so, un modulo che richiede domReady
non verrà recuperato o eseguito dopo che il documento è pronto, e potresti fare lo stesso anche richiedendo jQuery:
require(['jQuery'], function ($) {
$(document).ready(function () {
// Do my stuff here...
});
});
Per essere più chiari sulla mia domanda: qual è la differenza tra richiedere domReady
o jQuery
?
script
vanno i tuoi tag o stai scrivendo una libreria / plug-in che altre persone useranno (e quindi hanno il controllo della posizione dei script
tag nel markup)?
I am not confident in jquery's dom ready because requirejs is doing its magic.
Poiché, require incapsula jquery in un ambito locale limitato. Non è questo il punto. (per quanto riguarda la domanda).
I am not confident in jquery's dom ready
Voglio contrassegnarlo come offensivo:p