Узлы и диджиты, события DOM и методы диджитов

Между диджитами и узлами DOM существуют важные отличия: диджит – это объект JavaScript типа Function, экземпляры которых создаются из коллекции ресурсов, включая разметку HTML, CSS, JavaScript и такие статические ресурсы, как изображения; визуальное представление диджита вставляется в страницу путем присваивания его атрибуту domNode ссылки на узел DOM (внешнего узла в его шаблоне).

Различия между диджитом и узлом DOM можно обозначить еще сильнее, если сравнить функцию dojo.byId, которая возвращает узел DOM, заданный аргументом, с собственным методом библиотеки Dijit – dijit.byId, который возвращает диджит, ассоциированный с указан
ным узлом DOM.

Функция dojo.byId возвращает узел DOM, который служит визуальным представлением экземпляра dijit.form.Button, тогда как функция dijit.byId возвращает объект JavaScript типа Function, с помощью которого можно исследовать все стандартные механизмы диджитов.

Вследствие различий между диджитами и узлами DOM существуют различия между событиями DOM и событиями библиотеки Dijit. Несмотря на то что у многих диджитов имеется событие onClick, тем не менее это событие не имеет никакого отношения к событию onclick узла DOM, вопреки очевидной схожести имен.


Найдите минуту времени, чтобы загрузить и выполнить следующую страницу в консоли Firebug – полученные результаты помогут прояснить ситуацию:


Fun with Button Clicking!
href="http://o.aolcdn.com/dojo/1.1/dojo/resources/dojo.css" />
href="http://o.aolcdn.com/dojo/1.1/dijit/themes/tundra/tundra.css" />
djConfig="parseOnLoad:true"
type="text/javascript"
src="http://o.aolcdn.com/dojo/1.1/dojo/dojo.xd.js"
>


(body class="tundra")
(button id="foo" dojoType="dijit.form.Button" onclick="foo")click me

(/button)
(/body)


В этой странице, в разметке HTML, определяется простой метод для простого диджита Button, который содержит реализацию метода onClick и создает три подключения: одно – для события onclick узла DOM, и два – для событий диджита onclick и onClick.


Однако у диджитов нет события onclick, таким образом, этот пример демонстрирует распространенную ошибку, которую очень трудно будет отыскать и исправить, заключающуюся в неудачной попытке установить соединение.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Dojo на эту тему:
WAI-ARIA
Библиотека Dijit для дизайнеров
Диджиты приложения
Диджиты размещения
Диджиты форм

Вернуться в раздел: Dojo / Обзор Dijit