应用场景:在项目中我要做一个左边是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秒以内点击几次都只会发送一次请求。

最新文章

  1. PHP PDO的setAttribute函数
  2. nodevalue
  3. SAM4E单片机之旅——17、通过UART进行标准IO
  4. Java中类的加载、连接和初始化
  5. 如何在HTML5 图片预览
  6. 【产品体验】ONE一个
  7. QT5控件-QPushButton和QFocusFrame(按钮和焦点框)
  8. LINUX常用命令--基础篇(一)
  9. erlang四种监控策略
  10. C++ 脑筋急转弯
  11. Linux 定时执行任务:Crontab服务及应用集锦
  12. consistent.go 源码阅读
  13. 【SQL】ROW_NUMBER() OVER(partition by 分组列 order by 排序列)用法详解+经典实例
  14. 如何用php实现分页效果
  15. ThinkPHP 5 验证码
  16. htop使用详解
  17. Go 初体验 - channel.1 - 基本用法
  18. 51nod 1092(lcs)回文字符串
  19. 生成更大的陆地 Making A Large Island
  20. 跨年操作--new Date()

热门文章

  1. springmvc 请求无法到达controller,出现404
  2. etcd 命令行
  3. Liunx 解压篇
  4. 8-cin cout PK scanf printf(速度快慢问题对比)
  5. Git忽略规则及.gitignore规则不生效的解决办法(转)
  6. android studio升级方法
  7. Python爬虫利器一之Requests库的用法
  8. mysql导出导入sql文件方法(linux)
  9. MDK5使用技巧
  10. 前端福利之jQuery文字轮播特效(转)