我想搞清楚extjs中tree的一些事件的默认处理是如何实现的,
在源码中哪里定义的。
因为我要实现按下ctrl拖动树对树的节点进行复制而不是移动。
树的添加事件addEvents(),但添加的事件得有监听函数如
this.on("事件名","函数名"),但我在看源码时没看到哪有
这样的默认实现,望高人指点。还有就是添加事件函数用on,
移除事件函数用un,请问mon是什么情况????
在源码中哪里定义的。
因为我要实现按下ctrl拖动树对树的节点进行复制而不是移动。
树的添加事件addEvents(),但添加的事件得有监听函数如
this.on("事件名","函数名"),但我在看源码时没看到哪有
这样的默认实现,望高人指点。还有就是添加事件函数用on,
移除事件函数用un,请问mon是什么情况????
tree.addEvents("myEvent");//添加自定义事件
tree.fireEvent("myEvent", this, this.root, 'abc');//抛出事件,并传递你要的参数tree.on("myEvent", function (tree, root, s) {
/*tree = fireEvent中的this
root = fireEvent中的this.root
s = "abc";
*/
});//监听自定义事件,只有fireEvent抛出的才能监听到
tree.un("myEvent");//取消监听,删除
on("click",fn)这样的定义啊
去这个文件看看,有没有click/move这样的事件就知道了
但对事件的监听一般是XXX.on("click",functionName)
这样的形式,我是说我没看到哪儿有这样的实现!!!
这个是添加监听事件,需要自己实现
el.on(event, fn);
el.addListeners(event, fn);{
xtype: "button"
listeners: {
event: fn
}
}
上面这3个形式都是一样的,只是写法不同都是,添加事件
Ext.tree.TreeEventModel = function(tree){
this.tree = tree;
this.tree.on('render', this.initEvents, this);
};Ext.tree.TreeEventModel.prototype =
{
initEvents : function()
{
var t = this.tree; if(t.trackMouseOver !== false)
{
t.mon(t.innerCt,
{
scope: this,
mouseover: this.delegateOver,
mouseout: this.delegateOut
});
}
t.mon(t.getTreeEl(), {
scope: this,
click: this.delegateClick,
dblclick: this.delegateDblClick,
contextmenu: this.delegateContextMenu
});
},
不知道我找的对不对