Определение и запуск пользовательских событий в пользовательском модуле в 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(), а также множество других полезностей,