Определение и запуск пользовательских событий в пользовательском модуле в YUI3

Вот как мы можем создать пользовательский модуль в YUI3,

<script type="text/javascript">
    YUI.add('my-module', function (Y) {
       // Write your module code here, and make your module available on the Y
       // object if desired.
       Y.MyModule = {
           sayHello: function () {
               console.log('Hello!');
           }
       };
    });
</script>

Но теперь я хотел бы, чтобы в этом модуле определить некоторые пользовательские события, а затем инициировать их, я просто не смог найти никакой информации об этом на официальном сайте YUI3.

Как мы можем на самом деле сделать это?

1 ответ

Решение

Собственные события на самом деле очень важны во всем YUI. Эта страница документации описывает их подробно: http://yuilibrary.com/yui/docs/event-custom/. Прочитайте эту страницу и некоторые примеры на боковой панели.

Самый простой и простой способ вызвать пользовательское событие - запустить его из Y, как в Y.fire("myEvent"). Однако, если вы хотите запустить событие из вашего объекта, вам нужно дать ему объект EventTarget API и вызвать this.fire("myEvent"). Большинство людей делают это, расширяя Y.Base, который включает в себя Y.EventTarget. См. http://yuilibrary.com/yui/docs/base/ - если вы расширяете Base, вы получаете метод fire(), возможность прослушивать события с помощью on() или after(), а также множество других полезностей,

Другие вопросы по тегам