如何获取附加dijit.Menu的所有元素

时间:2011-06-09 14:00:58

标签: html javascript-events dojo

是否有办法接收为dijit.Menu分配了oncontextmenu事件的所有元素?或者,当新的dijit.Menu被绑定到HTML元素时是否有任何事件?

2 个答案:

答案 0 :(得分:1)

我认为这会奏效:

var contextMap = {}
dojo.provide('menu');
dojo.declare('menu', [dijit.Menu] , {
 bindDomNode : function(a,b,c){
 this.inherited(arguments);
 contextMap[a] = this;
 console.log(contextMap)
 }
})

powtac更新了解决方案:
这有效!我在实例化菜单之前运行它。诀窍是使用same superClass as className,在这种情况下'dijit.Menu'作为字符串。

dojo.ready(function() {
    dojo.declare('dijit.Menu', [dijit.Menu], {
        bindDomNode: function(a,b,c) {
            this.inherited(arguments);
            console.log(a);
        },
    })
})

// ...
menu = new dijit.Menu( ... ); // when called the the event is caught 
                              // and runs into the console.log(a);

答案 1 :(得分:0)

为什么在浏览所有dijit.Menu小部件时,通过DOM查看有关附件的内容?

您还可以轻松扩展dijit.Menu小部件并添加自定义信号作为小部件创建过程的一部分。