`

[ExtJS4] TreePanel 取消默认双击事件行为:展开折叠菜单

阅读更多
[ExtJS4] 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);
						            }
								});
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics