是否有办法接收为dijit.Menu分配了oncontextmenu事件的所有元素?或者,当新的dijit.Menu被绑定到HTML元素时是否有任何事件?
答案 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小部件并添加自定义信号作为小部件创建过程的一部分。