应用场景:在项目中我要做一个左边是tree,右边是panel的界面。当我单击tree中的一条记录时,发送请求,并将结果显示在右边的panel中。做完之后发现,如果连续单击就会连续请求两次服务器,毕竟用户不知道是应该单击tree中的记录还是双击。

解决思路:利用一个boolean类型的flag来判断,并使用了 Ext.util.DelayedTask延时的技术。我先将flag设为true,点击一次之后马上设置为false,并在一秒延迟后将其重新设置为true。并且只有当flag为true时,单击才会请求服务器。

flag:true,
listeners:{
scope:this,
cellclick:function(view, td,cellIndex,record, tr, rowIndex, e, eOpts ){
if(this.flag||this.flag==undefined){ //为什么这里要加一个this.flag==undefined,因为第一次点击时flag没有被初始化为true,而是为undefined,具体原因我不知道
//这里写发送请求的代码
this.flag=false;
}
var task = new Ext.util.DelayedTask(function(){
this.flag=true;
});
task.delay(1000); //避免重复点击 }
},

这样就解决了。1秒以内点击几次都只会发送一次请求。

extjs Tree中避免连续单击会连续请求服务器的更多相关文章

  1. C语言:判断t所指字符串中的字母是否由连续递增字母组成。-判断一个输入的任何整数n,是否等于某个连续正整数序列之和。-将一副扑克牌编号为1到54,以某种方式洗牌,这种方式是将这副牌分成两半,然后将他们交叉,并始终保持编号1的牌在最上方。

    //判断t所指字符串中的字母是否由连续递增字母组成. #include <stdio.h> #include <string.h> void NONO(); int fun( ...

  2. ExtJs 4 中的MVC应用架构

    一.ExtJs 4.x MVC模式的原理与作用 大规模客户端应用通常不好实现不好组织也不好维护,因为功能和人力的不断增加,这些应用的规模很快就会超出掌控能力,ExtJS4带来了一个新的应用架构,不但可 ...

  3. (DT系列四)驱动加载中, 如何取得device tree中的属性

    本文以At91rm9200平台为例,从源码实现的角度来分析驱动加载时,Device tree的属性是如何取得的.一:系统级初始化DT_MACHINE_START 主要是定义"struct m ...

  4. 【转】(DT系列四)驱动加载中, 如何取得device tree中的属性

    原文网址:http://www.cnblogs.com/biglucky/p/4057488.html 本文以At91rm9200平台为例,从源码实现的角度来分析驱动加载时,Device tree的属 ...

  5. [Flex] 组件Tree系列 —— 阻止用户点击选中Tree中分支节点

    mxml: <?xml version="1.0" encoding="utf-8"?> <!--功能描述:阻止用户点击选中Tree中分支节点 ...

  6. [Flex] 组件Tree系列 —— 阻止用户点击选中Tree中任何节点

    mxml: <?xml version="1.0" encoding="utf-8"?> <!--功能描述:阻止用户点击选中Tree中任何节点 ...

  7. 从零学习Fluter(五):Flutter中手势滑动拖动已经网络请求

    从六号开始搞Flutter,到今天写这篇blog已经过了4天时间,文档初步浏览了一遍,写下了这个demo.demo源码分享在github上,现在对flutter有种说不出的喜欢了.大家一起搞吧! 废话 ...

  8. win7中 SQL server 2005无法连接到服务器,错误码:18456

    win7中 SQL server 2005无法连接到服务器,错误码:18456.. 数据库刚装完.我用Windows登陆  结果登陆不上去.. 选中SQL Server Management Stud ...

  9. jQuery中ajax的4种常用请求方式

    jQuery中ajax的4种常用请求方式: 1.$.ajax()返回其创建的 XMLHttpRequest 对象. $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数 ...

随机推荐

  1. how to deal with EINTR fault

    [how to deal with EINTR fault] EINTR:interupted error.是指一个调用被信号给中断,对于同步的耗时调用来说,这个操作常见,譬如select.read. ...

  2. freemaker在表格中遍历数据

    Controller层如下所示: @RequestMapping(value = "/test", method = RequestMethod.GET) public Strin ...

  3. Linux下patch的制作和应用

    转自:http://blog.chinaunix.net/u3/100239/showart_1984963.html 首先介绍一下diff和patch.在这里不会把man在线文档上所有的选项都介绍一 ...

  4. maven项目 实现 spring mybatis 两个框架整合

    1.maven项目 src main java java源文件 resources 配置文件 beans.xml spring配置文件 <?xml version="1.0" ...

  5. datagridview paging

    http://www.codeproject.com/Articles/211551/A-Simple-way-for-Paging-in-DataGridView-in-WinForm

  6. 关于eclipse创建java项目时产生的.settings文件:

    在用eclipse创建一个java项目,在项目目录下面往往会发现.settings文件夹并包含一个org.eclipse.core.resources.prefs文件条目. 这个条目是配置项目的编码方 ...

  7. [Selenium]Click element under a hidden element

    Description: Find out the DDL in Treegrid, but cannot click on it.Because the element is under a hid ...

  8. innobackupex工作原理

    写篇文章凑个数,基本是翻译,建议看原文. http://www.percona.com/doc/percona-xtrabackup/2.1/innobackupex/how_innobackupex ...

  9. SOCKET句柄泄露带来的内存灾难

    前些时候游戏莫名其妙出现大量内存泄露,我感到很诧异,当然一般情况下游戏的内存管理是极其严苛的,出现如此大量的内存泄露到底是怎么回事? 句柄滥用导致的内存泄露会多夸张呢,尤其SOCKET,在某些客户端系 ...

  10. (一)JQuery动态加载js的三种方法

    Jquery动态加载js的三种方法如下: 第一种: $.getscript("test.js"); 例如: <script type="text/javascrip ...