网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月08日漏签0天
javascript吧 关注:269,207贴子:906,437
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1回复贴,共1页
<<返回javascript吧
>0< 加载中...

请教大佬关于 多次点击按钮 重复掉服务的 问题

  • 只看楼主
  • 收藏

  • 回复
  • 一听
  • var
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
问题描述:
点击一次按钮,掉一个js方法,方法里的功能是:
1、该按钮置灰不可点:$(".jPrintView").attr("disabled", true);
2、掉后台的接口 creatOrder();
3、2s后该按钮恢复可点击的状态:
setTimeout(function(){
$(".jPrintView").attr("disabled",false);
}, 2000);
--------------
但是,看后台的日志 接口creatOrder被调用了2次,数据库创建了两条一摸一样的数据,相同id、相同的操作时间、相同的操作工号、相同的操作ip(表没设置主键);
这表明 用户可以多次点击了该按钮,但是明明第一次点击就置灰不可点必须等2s后啊?
这是为啥啊?


  • BSPR0002
  • Date
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
根据我的测试,如果按钮确实被禁用的话,不可能会出现重复触发事件的问题,所以你应该从以下几方面查找原因:
1.你使用了 jq 库,我不确定你 $(".jPrintView").attr("disabled", true) 这一条是否确实定位到了那个按钮,但是要在按钮的点击事件里对按钮本身进行更改应该用 this 指向这个按钮:
this.disabled=true ,何况如此简单的操作居然还需要依赖 jq 库,说明你的原生 js 水平不佳。相应的,解除禁用就是:setTimeout(()=>this.disabled=false,2000)。
2.如果不是按钮没被禁用的问题,那么应该从事件函数上找问题:
(1)是不是重复执行了 creatOrder 函数?
(2)也许是上次调用接口时的用到的数据没有被清除,所以才会每次调用数据都是一样的?
3.如果在网页的脚本上找不到问题,那就只能考虑是不是服务器的问题了,也许被调用的那个接口本来就是会写两次数据的?
4.如果都没有问题,那可能是你用来测试的浏览器有问题,建议换个别的浏览器试试。
5.如果浏览器也没有问题,那可能是你用来测试的设备的脑子有问题,建议换个脑子正常的设备试试。
6.如果都没有问题,那就是我有问题。
7.如果我也没有问题,那就是有外星人在搞鬼。
8.什么?你说没有外星人?那我也不知道了,因为我只是一个沙雕。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1回复贴,共1页
<<返回javascript吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示