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

标签 javascript events module dom-events 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 官方网站上找不到任何相关信息。

我们怎样才能真正做到这一点?

最佳答案

自定义事件实际上在整个 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() 监听事件的能力,以及许多其他好东西。

关于javascript - 在 YUI3 的自定义模块上定义和触发自定义事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13011061/

相关文章:

javascript - 聚合嵌套数组中的数据

c# - Form.show() 从另一个线程中的事件开始

javascript - 浏览器 JavaScript 创建自定义事件

php - ZF2 : Custom user mapper for ZfcUser module

css - Joomla - 横幅模块 - 标题位置

javascript - 使用 Javascript 动态构建 CAML

javascript - jQuery - 父子-子子的 nextAll() 选择器

javascript - jQuery:隐藏容器中的所有内容,除了一个节点

javascript - 如何以编程方式触发 Twitter 意图事件?

laravel - 如何在 laravel 模块中进行迁移?