Каква е разликата между .ready на dojo и jQuery $(document).ready

С моите ограничени познания мислех, че и dojo.ready на dojo, и $(document).ready на jQuery са еквивалентни един на друг. Току-що обаче се натъкнах на проблем с моето приложение, при което функция, която се извикваше с помощта на dojo.ready, работеше добре за всички браузъри, с изключение на някои версии на IE. Просто го замених с $(document).ready и работи във всички браузъри. Бях щастлив, че го накарах да работи, но не бях сигурен защо работи.

Направих основно търсене, за да открия разликата между две, но не намерих нищо съществено.


person user1006072    schedule 29.02.2012    source източник
comment
jQuery очевидно поддържа повече версии на IE. :)   -  person powtac    schedule 01.03.2012
comment
Благодаря, powtac, но просто бях любопитен да разбера как се различават двете.   -  person user1006072    schedule 01.03.2012
comment
Извинете за ироничния ми отговор. Не знам разликата. Но е известно, че jQuery поддържа много браузъри, също и стари IE...   -  person powtac    schedule 01.03.2012
comment
Само от любопитство, опитахте ли приставката domReady в 1.7? dojotoolkit.org/reference-guide/dojo/   -  person Philippe    schedule 01.03.2012
comment
@Philippe - не, не съм го пробвал. Току-що го погледнах и изглежда добър за използване в такива ситуации. Благодаря много..   -  person user1006072    schedule 01.03.2012


Отговори (2)


Освен всякакви разлики в начина, по който определят дали документът е готов. Струва си да се отбележи, че dojo/ready се интегрира с друга инфраструктура на dojo, като парсер и AMD loader, така че да може да се задейства, след като всички необходими джаджи са анализирани, модулите са заредени и т.н.

Dojo ‹ 1.7

dojo.ready чака извикванията на dojo.require и анализатора, ако parseOnLoad е вярно във вашия dojoConfig.

Доджо >= 1.7

dojo/ready изчаква AMD изисква и допълнителни функции могат да бъдат поставени на опашка. Вярвам, че изискването на dojo/parser ще го накара да постави на опашка операцията за анализиране.

dojo/domReady! Плъгинът на AMD предоставя простия DOMContentLoaded тип функционалност, еквивалентен на jQuery(document).ready

person Ali Gangji    schedule 18.06.2015

Ето няколко теста на готови реализации и разликите между абстракциите на JavaScript за справяне с проблеми с различни браузъри:

person Paul Sweatte    schedule 14.09.2012