在YUI3中定义和触发自定义模块上的自定义事件

时间:2012-10-22 12:03:36

标签: javascript events javascript-events module 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 个答案:

答案 0 :(得分:2)

自定义事件在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()监听事件,以及许多其他好东西。