为了账号安全,请及时绑定邮箱和手机立即绑定

js前端限制只提交一次,做了限制,快速点击还是不生效,是不是因为 click 300ms 延迟问题

js前端限制只提交一次,做了限制,快速点击还是不生效,是不是因为 click 300ms 延迟问题

12345678_0001 2019-03-13 18:15:11
js前端,限制只触发提交一次。使用了:$('#demo').click(function(){    var _self = $(this);        // 已加载过,不再次请求    if(_self.hasClass('clicked')){        return false;    }    _self.addClass('clicked');    // 执行其他逻辑});发现点击特别快的时候,并不能限制住!问题:    是不是 'click' 事件的 '300ms' 的延迟问题?,程序还没执行??两次 'click' 事件的截图:后记:单独在html文件测试了下,是没有问题的,别误导了其他人!原因可能是我代码了混用了其他插件,iscroll.js展示效果:多个状态滚动大家要实现这个效果,可以记得 『iscroll』插件!!
查看完整描述

10 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

应该是addClass,你可以换一个true/falseflag试试。如果你只是想触发一次,可以用one


查看完整回答
反对 回复 2019-04-03
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

或者用局域变量而不是class来标示状态


查看完整回答
反对 回复 2019-04-03
?
红颜莎娜

TA贡献1842条经验 获得超13个赞

提供一个绕过去的方案,用户点击之后 弄一个 加载层


查看完整回答
反对 回复 2019-04-03
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

我们的解决方案是增加蒙版层. 点击的时候弹出 正在加载的那个东东


查看完整回答
反对 回复 2019-04-03
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

可以了解下函数节流 和函数防抖!!!!


查看完整回答
反对 回复 2019-04-03
?
莫回无

TA贡献1865条经验 获得超7个赞

弄个 flag或者 $().one()都可以解决吧
不过有没有可能是你的js 加载了2次

查看完整回答
反对 回复 2019-04-03
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

用标志判断阻止,点击再怎么快也快不过js执行啊。。。


查看完整回答
反对 回复 2019-04-03
?
浮云间

TA贡献1829条经验 获得超4个赞

问题虽然解决了,不过我还是建议你使用一个flag:true/false来控制点击


查看完整回答
反对 回复 2019-04-03
  • 10 回答
  • 0 关注
  • 1147 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号