分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

extjs Tree中避免连续单击会连续请求服务器

发布时间:2023-09-06 01:14责任编辑:白小东关键词:js

应用场景:在项目中我要做一个左边是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中避免连续单击会连续请求服务器

原文地址:http://www.cnblogs.com/javammc/p/7599628.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved