【发布时间】:2011-04-08 06:06:51
【问题描述】:
我正在动态地将节点添加到 ExtJS TreePanel。我有一个用于打开新面板的节点的 dblclick 侦听器。当我双击节点时,节点会自动折叠。
我不希望节点在双击时折叠。有没有办法阻止这种情况发生?
【问题讨论】:
标签: extjs
我正在动态地将节点添加到 ExtJS TreePanel。我有一个用于打开新面板的节点的 dblclick 侦听器。当我双击节点时,节点会自动折叠。
我不希望节点在双击时折叠。有没有办法阻止这种情况发生?
【问题讨论】:
标签: extjs
为Node 实现beforedblclick 事件;然后,每当触发事件时,查看节点是否展开,如果是,则返回false。
beforedblclick : ( 节点 this, Ext.EventObject e)
之前触发 双击处理。返回假 取消默认操作。
【讨论】:
我认为默认的 TreePanel 有一个默认的“onclick”侦听器,它的响应相似:
if(node == 'open') {
closeNode();
}
else {
openNode();
}
所以双击将首先在第一次单击时打开它,然后在第二次单击时关闭它。
您应该像这样向树形面板添加一个侦听器:
new Ext.tree.AsyncTreeNode({
expanded: true,
children: [{
text: 'Menu Option 1',
leaf: true
}, {
text: 'Menu Option 2',
leaf: true
}, {
text: 'Menu Option 3',
leaf: true
}]
}),
rootVisible: false,
listeners: {
click: function(n) {
return false;
},
dblclick: function(n) {
Ext.Msg.alert('Navigation Tree Click',
'You clicked: "' + n.attributes.text + '"');
}
}
【讨论】:
对于树形网格(具有多列的树形面板),这是为我完成的(ExtJS6):
listeners: {
beforecelldblclick: function(){
return false;
}
}
【讨论】: