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
ExtJS中给Tree节点加click事件的更多相关文章
- ExtJs中实现tree节点,全部是单击展开和收缩效果,和收藏夹点击功能一样
listeners : { click : function(node, c) {// 单击节点事件(node是节点对象) if(!node.isLeaf()){//不是叶子节点 node.singl ...
- 33. Extjs中的tree节点的操作
转自:https://blog.csdn.net/masterShaw/article/details/51354351?utm_source=blogkpcl9 ext 树节点操作 tree ...
- 在vue中无论使用router-link 还是 @click事件,发现都没法从列表页点击跳转到内容页去
在vue中如论使用router-link 还是 @click事件,发现都没法从列表页点击跳转到内容页去,以前都是可以的,想着唯一不同的场景就是因为运用了scroll组件(https://ustbhua ...
- vue中,svg图标添加click事件,部分浏览器不生效
vue项目中,使用svg图标,但是发现,为svg图标绑定click事件时,部分浏览器会出现,点击没有反应的情况,代码如下: <icon name="icon_add" @cl ...
- Extjs中创建Tree菜单【一】
此篇treepanel的描写是很简单,没有太大的难度,在学习时,可以先熟悉tree的一些配置信息.属性.方法和事件. 然后先写一个简单的例子,慢慢了解从中如何实现的,然后在慢慢的深入了解,实现一些复杂 ...
- MVC4中EasyUI Tree异步加载JSON数据生成树
1,首先构造tree接受的格式化数据结构MODEL /// <summary> /// 定义EasyUI树的相关数据,方便控制器生成Json数据进行传递 /// </summar ...
- listView中adapter有不同的click事件的简单写法
在android中,listview一般都是通过一个adapter来绑定数据,一般的item的点击事件都会指向同一个目标(intent),仅仅是所带的參数不同而已.但有的时候事与愿违,每一个item的 ...
- jQuery中click事件多次触发解决方案
jQuery 中元素的click事件中绑定其他元素的click事件. 因为jQuery中的click事件会累计绑定,导致事件注册越来越多. 解决方案: 1.能够避开,避免把click事件绑定到其他元素 ...
- [C# 基础知识系列]专题五:当点击按钮时触发Click事件背后发生的事情 (转载)
当我们在点击窗口中的Button控件VS会帮我们自动生成一些代码,我们只需要在Click方法中写一些自己的代码就可以实现触发Click事件后我们Click方法中代码就会执行,然而我一直有一个疑问的—— ...
随机推荐
- kafka 面试题 无答案
kafka节点之间如何复制备份的? kafka消息是否会丢失?为什么? kafka最合理的配置是什么? kafka的leader选举机制是什么? kafka对硬件的配置有什么要求? kafka的消息保 ...
- ResponderChain note
http://ww3.sinaimg.cn/large/6b288462gw1evl4h40tfxj20sg0lc77k.jpg
- 【Unity】使用Resources类管理资源
最近参考了各位大神的资源,初步学习了Unity的资源管理模式,包括在编辑器管理(使用AssetDatabase)和在运行时管理(使用Resources和AssetBundle).在此简单总结运行时用R ...
- C语言 · 删除重复元素
算法提高 11-2删除重复元素 时间限制:10.0s 内存限制:256.0MB 问题描述 为库设计新函数DelPack,删除输入字符串中所有的重复元素.不连续的重复元素也要删除. 要 ...
- [wdt]watchdog
board/ti/am335x/board.c board/ti/am43xx/board.c driver/watchdog/omap_wdt.c include/configs/am43xx_ev ...
- Go Revel - Session / Flash(会话与flash)
##Session / Flash 作用域 revel提供了两种cookies存储机制: // 一个加密签过的cookie (限制为4kb). // 限制: Key 中不能有冒号 type Sessi ...
- azkaban安装
1.下载:git clone https://github.com/azkaban/azkaban.git 2.编译:./gradlew build -x test 3. 创建目录并拷贝 mkdir ...
- PCL中分割方法的介绍(3)
(3)上两篇介绍了关于欧几里德分割,条件分割,最小分割法等等还有之前就有用RANSAC法的分割方法,这一篇是关于区域生成的分割法, 区 域生长的基本 思想是: 将具有相似性的像素集合起来构成区域.首先 ...
- 安卓程序代写 网上程序代写[原]BluetoothClass详解
一. BluetoothClass简介 1. 继承关系 public final class BluetoothClass extends Object implements Parcelable 该 ...
- ASP.NET MVC5使用AjaxHelp
默认情况下,Visual Studio 2013新建ASP.NET MVC5项目,不包含jquery.unobtrusive-ajax.js,需要手工添加. 点击Visual Studio 2013中 ...