起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4709|回复: 5

[结贴] js执行

[复制链接]

250

主题

696

帖子

1720

积分

金牌会员

Rank: 6Rank: 6

积分
1720
QQ
发表于 2017-12-7 16:11:31 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
本帖最后由 王亚龙 于 2017-12-7 16:18 编辑

我想要的效果是,客户点击这个div触发点击事件,执行action请求之后。如果上次请求没有执行完,客户再点击,就给客户一个提示。不再执行请求。
现在的效果是,客户点击之后,再连续点击N次。请求会依次执行N次。并且没有提示。
现在不知道代码哪里写的有问题,请指点下。打开调试的话就没办法连续点击。还没办法调试

var flagx = true;//全局变量
        Model.prototype.span8Click = function(event){debugger;
                if(!flagx){
                        alert("正在执行,请稍等!");
                }else{
                        flagx = false;
                          if(request(a,b)){
                                flagx = true;
                        }
                }
        
        };
        /请求
        function request(a,b){
            
                Baas.sendRequest({
                                "url" : "/ProjectManager/taskCenter", // Servlet请求地址
                                "action" : "xx",// action
                                "async" : false,// 是否异步请求
                                "params" : {},
                                "success" : function(data) {
                                }
                        });
                                return true;
        }

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36180
发表于 2017-12-7 16:55:17 | 显示全部楼层
在model的勾选函数中用this.flagx  = true定义全局变量
  1. var Model = function() {
  2.                 this.callParent();
  3.                 this.flagx = true
  4.         };
复制代码



如下:
  1.         var Model = function(){
  2.                 this.callParent();
  3.                 this.canClick = true;
  4.         };

  5.         Model.prototype.button2Click = function(event){
  6.                 if(!this.canClick){
  7.                  alert("正在运行");
  8.                 }
  9.                 else{
  10.                         this.canClick = false;
  11.                         var me = this;
  12.                         setTimeout(function(){alert(1);me.canClick = true},2000);
  13.                 }
  14.                

  15.         };
复制代码
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

250

主题

696

帖子

1720

积分

金牌会员

Rank: 6Rank: 6

积分
1720
QQ
 楼主| 发表于 2017-12-7 17:15:16 | 显示全部楼层
jishuang 发表于 2017-12-7 16:55
在model的勾选函数中用this.flagx  = true定义全局变量

还是不行,能不能这样。点击之后我把div的点击事件禁用。请求执行完成之后点击事件再启用。
$(this.getElementByXid("xx")).attr("disabled","disabled");
$('#' + self.getIDByXID("xx")).attr('disabled', "true");
这两种禁用都没法禁用div的点击
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36180
发表于 2017-12-7 17:27:09 | 显示全部楼层
2楼发方法本地测试没问题

远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

250

主题

696

帖子

1720

积分

金牌会员

Rank: 6Rank: 6

积分
1720
QQ
 楼主| 发表于 2017-12-7 17:29:56 | 显示全部楼层
jishuang 发表于 2017-12-7 17:27
2楼发方法本地测试没问题

我试了也没问题,但是换成action请求就不行了
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36180
发表于 2017-12-7 17:32:06 | 显示全部楼层
那就在action请求的成功事件中去设置变量的值看看
这个就跟标准的html页面的ajax请求一样

远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-6-30 04:13 , Processed in 0.057332 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表