第一种:

直接通过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事件的更多相关文章

  1. ExtJs中实现tree节点,全部是单击展开和收缩效果,和收藏夹点击功能一样

    listeners : { click : function(node, c) {// 单击节点事件(node是节点对象) if(!node.isLeaf()){//不是叶子节点 node.singl ...

  2. 33. Extjs中的tree节点的操作

      转自:https://blog.csdn.net/masterShaw/article/details/51354351?utm_source=blogkpcl9 ext 树节点操作   tree ...

  3. 在vue中无论使用router-link 还是 @click事件,发现都没法从列表页点击跳转到内容页去

    在vue中如论使用router-link 还是 @click事件,发现都没法从列表页点击跳转到内容页去,以前都是可以的,想着唯一不同的场景就是因为运用了scroll组件(https://ustbhua ...

  4. vue中,svg图标添加click事件,部分浏览器不生效

    vue项目中,使用svg图标,但是发现,为svg图标绑定click事件时,部分浏览器会出现,点击没有反应的情况,代码如下: <icon name="icon_add" @cl ...

  5. Extjs中创建Tree菜单【一】

    此篇treepanel的描写是很简单,没有太大的难度,在学习时,可以先熟悉tree的一些配置信息.属性.方法和事件. 然后先写一个简单的例子,慢慢了解从中如何实现的,然后在慢慢的深入了解,实现一些复杂 ...

  6. MVC4中EasyUI Tree异步加载JSON数据生成树

      1,首先构造tree接受的格式化数据结构MODEL /// <summary> /// 定义EasyUI树的相关数据,方便控制器生成Json数据进行传递 /// </summar ...

  7. listView中adapter有不同的click事件的简单写法

    在android中,listview一般都是通过一个adapter来绑定数据,一般的item的点击事件都会指向同一个目标(intent),仅仅是所带的參数不同而已.但有的时候事与愿违,每一个item的 ...

  8. jQuery中click事件多次触发解决方案

    jQuery 中元素的click事件中绑定其他元素的click事件. 因为jQuery中的click事件会累计绑定,导致事件注册越来越多. 解决方案: 1.能够避开,避免把click事件绑定到其他元素 ...

  9. [C# 基础知识系列]专题五:当点击按钮时触发Click事件背后发生的事情 (转载)

    当我们在点击窗口中的Button控件VS会帮我们自动生成一些代码,我们只需要在Click方法中写一些自己的代码就可以实现触发Click事件后我们Click方法中代码就会执行,然而我一直有一个疑问的—— ...

随机推荐

  1. 用B表更新A表

    UPDATE dbo.POR_LOT SET POR_LOT.SHIPPED_FLAG =B.SHIPPED_FLAGFROM POR_LOT A INNER JOIN ( SELECT T5.LOT ...

  2. 【WPF】在MenuItem中下划线“_”显示不正常

    MenuItem的Header显示文字时发现一个问题,字符串中的第一个下划线“_”不能显示.如果该下划线前面是一个英文字母,则下划线会跑到该字母下方.(是中文汉字则不会) 查到原因是第一个下划线“_” ...

  3. Android——自定义视图(一)转

    首先,建立一个Android工程,命名MyView. 然后,自定义一个类myView,继承View类.代码如下 package com.android.randy.viewDemo; import a ...

  4. 使用 Gearman 实现分布式处理

    因为近来在研究 Mogilefs 的分布文件系统,在读读这个的源码,另外,为公司新设计了一个下载的系统,所以更加要深入研究一下,因为这个好东西是 Perl 写的,真不容易,在读这个的时间发现了几个好东 ...

  5. 构建Java并发模型框架

    Java的多线程特性为构建高性能的应用提供了极大的方便,但是也带来了不少的麻烦.线程间同步.数据一致性等烦琐的问题需要细心的考虑,一不小心就会出现一些微妙的,难以调试的错误.另外,应用逻辑和线程逻辑纠 ...

  6. MinGW下编译openssl, json-c

    目的:在windows环境下,编译开源库openssl 环境:windows 10 ,Mingw及自带msys工具,openssl-1.0.2j 工具主要使用MinGW(含msys1.0), IDE选 ...

  7. HBase二级索引与Join

    转自:http://www.oschina.net/question/12_32573 二级索引与索引Join是Online业务系统要求存储引擎提供的基本特性.RDBMS支持得比较好,NOSQL阵营也 ...

  8. 深入浅出LVM on linux

    什么是LVM? 什么是LVM?LVM(Logical Volume Manager)逻辑卷管理,是一种将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将 ...

  9. 关于Unity中的NGUI精灵

    NGUI精灵实例 1.创建Unity项目工程和文件目录,保存场景 2.创建一个精灵NGUI---->Create---->Sprite,发现它的UI Sprite组件的贴图属性只支持Atl ...

  10. numpy的排序