ExtJS中给Tree节点加click事件
第一种:
直接通过TreePanel中的Config Option中的listener来添加,代码如下:
var TreePan = new Ext.tree.TreePanel({
id: 'TreePan',
title: "侧边栏",
useArrows: true,
width: 240,
height: 660,
region: 'west',
frame: true,
autoScroll: true,
enableDD: false,
containerScroll: true,
draggable: false,
root: root,
rootVisible: false,
collapsible: true,
collapsed: true,
animate: true,
listeners: {
'click': function(node, e) {
if (node.isLeaf()) {
var newWin = new Ext.Window({
width: 745,
height: 529,
title: "现用技术标准",
html: "<iframe src=/"Manage/VolunteerShipInfo.aspx/" marginheight=/"0/" marginwidth=/"0/" width=/"727/" height=/"500/"></iframe>"
});
newWin.show();
}
}
}
失败,表现为程序对 “node.isLeaf()”这个方法的识别有问题,加上这条if语句,则点击所有节点没反应(包括非叶节点);去掉这个if,则点所有节点都会出现新窗口(包括非叶节点)。
第二种:
使用TreePan.on来添加Event,代码如下:
var TreePan = new Ext.tree.TreePanel({
id: 'TreePan',
title: "侧边栏",
useArrows: true,
width: 240,
height: 660,
region: 'west',
frame: true,
autoScroll: true,
enableDD: false,
containerScroll: true,
draggable: false,
root: root,
rootVisible: false,
collapsible: true,
collapsed: true,
animate: true,
}
TreePan.on('click', BiaoZhunClick);
function BiaoZhunClick(node, e) {
if (node.leaf) {
// e.stopEvent();
var newWin = new Ext.Window({
width: 745,
height: 529,
title: "现用技术标准",
html: "<iframe src=/"Manage/VolunteerShipInfo.aspx/" marginheight=/"0/" marginwidth=/"0/" width=/"727/" height=/"500/"></iframe>"
});
newWin.show();
}
}
失败,表现如方法二。
第三种:
通过查API Document,知道可以用addListener这个方法来给TreePanel添加Event,于是尝试如下:
var TreePan = new Ext.tree.TreePanel({
id: 'TreePan',
title: "侧边栏",
useArrows: true,
width: 240,
height: 660,
region: 'west',
frame: true,
autoScroll: true,
enableDD: false,
containerScroll: true,
draggable: false,
root: root,
rootVisible: false,
collapsible: true,
collapsed: true,
animate: true,
}
TreePan.addListener('click', BiaoZhunClick);
function BiaoZhunClick(node, e) {
if (node.leaf) {
// e.stopEvent();
var newWin = new Ext.Window({
width: 745,
height: 529,
title: "现用技术标准",
html: "<iframe src=/"Manage/VolunteerShipInfo.aspx/" marginheight=/"0/" marginwidth=/"0/" width=/"727/" height=/"500/"></iframe>"
});
newWin.show();
}
}
成功,终于可以实现只有在点击叶节点时才弹出浮窗了。
转自:http://blog.csdn.net/scythev/article/details/4818610
最新文章
- redis 常用命令
- Flesch Reading Ease -POJ3371模拟
- 在ESXi 5.x 和 ESXi 6.0.x 中如何安装第三方供应商开发的驱动程序
- 同一服务器上多个版本的 sqlserver ,如何连接,改变某一实例的端口号
- Xcode插件安装
- 初识Spring框架
- [读书笔记]C#学习笔记五: C#3.0自动属性,匿名属性及扩展方法
- LINUX ping 指定网卡
- 为什么要CGI
- java可变参数Varargs
- chrome加载本地js
- IOS 判断设备类型
- .NET基础笔记(C#)
- [hihoCoder]无间道之并查集
- Java中值传递和引用传递的区别
- Tomcat证书安装(pfx和jks)
- 关于NGUI Shader 和 Draw Call的优化 &; 模糊shader
- Windows核心编程:第1章 错误处理
- Redis缓存使用技巧
- NAT介绍
热门文章
- am335x u-boot2011.09 SPL 流程跟踪
- Quartz Scheduler Calendar日历的使用
- 【转】15个最受欢迎的Python开源框架
- _mysql.c:29:20: error: Python.h: No such file or directory
- JavaScript(三):数据类型转换
- 彻底清除Github上某个文件以及历史
- 更快的方式实现 PHP 数组去重
- Java RMI 的使用及原理
- What is systemvolumeinformation? delete it?
- 关于Unity中的刚体和碰撞器的相关用法(一)