[ExtJS4] TreePanel 取消默认双击事件行为:展开折叠菜单
想单击展开菜单的效果与默认双击事件重复, 导致点击过快时, 出现重复菜单项.
为避免此问题且得到更好的用户体验, 需要取消TreePanel 默认双击事件行为.
想单击展开菜单的效果与默认双击事件重复, 导致点击过快时, 出现重复菜单项.
为避免此问题且得到更好的用户体验, 需要取消TreePanel 默认双击事件行为.
treepanel.on('itemclick', function(treeview, record, item, index, e, opts) {
/** 取消双击展开折叠菜单行为 */
treeview.toggleOnDblClick = false;
if (record.get('leaf')) {
var moduleId = record.get('id');
application.loadModule(moduleId);
var module = application.getController(moduleId);
/**
* @tip
* 一个控制器第一个视图为模块主功能视图
*/
var viewName = module.views[0];
var view = module.getView(viewName);
/***
* 视图结构: 目录为模块包名, 目录内文件为模块名, 视图类型为小写的模块名.
* @example
* App.viw.theme.Theme
* alias : 'widget.theme'
*
* viewType: theme
*/
var viewType = viewName.split('.')[1].toLowerCase();
/**
* 如果没有此视图, 创建视图.
*/
if (!tabpanel.down(viewType)) {
var panel = view.create();
tabpanel.add(panel);
tabpanel.setActiveTab(panel);
panel.doLayout();
}
/**
* 如果有此视图, 刷新视图.
*/
else {
var panel = tabpanel.down(viewType);
tabpanel.setActiveTab(panel);
panel.doLayout();
}
} else {
treeview.toggle(record);
}
});