jquery - dojo可以绑定(bind)用户自定义事件吗?

标签 jquery event-handling dojo jquery-events

我使用的是dojo 1.7版本,我想绑定(bind)用户定义的事件,在jQuery中我可以这样做:

$(window).bind("pushMessage",function(){});

然后像这样触发事件:

$(window).trigger("pushMessage",{});

dojo能得到和上面一样的结果吗?如果是,怎么办?

最佳答案

是的,可以通过dojo/on :

on(window, "pushMessage", function(event) {});

on.emit(window, "pushMessage", {
    bubbles: true,
    cancelable: true
});

查看实际效果:http://jsfiddle.net/phusick/MQThM/

还有dojo/Evented它提供了一个类,可以用作发出自己的事件的 JavaScript 类的基类或 mixin。文档中的示例:

require([
    "dojo/_base/declare",
    "dojo/Evented"
], function(
    declare,
    Evented
) {

    var MyComponent = declare([Evented], {
        startup: function() {
            this.emit("ready", {});
        }            
    });

    var component = new MyComponent();
    component.on("ready", function() {
        console.log("Component is ready.");        
    });

    component.startup();

});​

也可以在 jsFiddle 玩:http://jsfiddle.net/phusick/ZhG58/

关于jquery - dojo可以绑定(bind)用户自定义事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10907935/

相关文章:

javascript - 我在 html 中有一个文本区域和按钮。当我单击按钮时,文本区域内的任何内容都将以 .DOCX 文件的形式下载

javascript - 当事件处理程序是原型(prototype)函数时如何使用 removeEventListener?

javascript - Dojo 不解析自定义小部件的模板 html 中的小部件声明

javascript - dojo dgrid 自定义渲染单元格内容

javascript - 获取最后一个子元素的类名

jquery - jQuery Ready() 的四种变体——有什么区别?

c# - MVC 4 - 验证码.Mvc

c++ - 如何扩展这个 C++11 事件系统来处理多个参数?

javascript - onclick =""与事件处理程序

css - 如何将外部 CSS 类应用于使用 dojo.create 创建的跨度?