求JS 大神指导,页面的防止重复点击事件(具体见补充)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求JS 大神指导,页面的防止重复点击事件(具体见补充)相关的知识,希望对你有一定的参考价值。
我在一个页面上有两个 按钮,都需要一个重复提交的限制,在3-5秒内不能2次点击,现在我能够实现的是一个按钮的不能重复点击,要是加上第二个按钮总是出各种BUG ,求指导
这是我的, 按钮绑定的show();
可以添加标记,第一次点击后变为false,每次点击判断这个标记是true才执行。
如果是按钮防止重复点击,可以再按钮点击后,给按钮添加disabled属性。
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。
它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。
求详细代码,JS 真心的没怎么做过
追答<input type="button" id="submit" value="提交"><script>
$(document).ready(function()
$("#submit").click(function()
var nowTime = new Date().getTime();
var clickTime = $(this).attr("ctime");
if( clickTime != 'undefined' && (nowTime - clickTime < 5000))
alert('操作过于频繁,稍后再试');
return false;
else
$(this).attr("ctime",nowTime);
alert('提交成功');
);
);
</script>
<html>
<head>
<meta charset="UTF-8" />
<title>last.html</title>
<style>
</style>
<script type="text/javascript" src="jquery-1.8.0.min.js"></script>
<script type="text/javascript">
var SLEEP = 5000;
$ (function ()
$ (':button').click (function ()
var me = $ (this);
me.prop ('disabled', true);
me.interval = setInterval (function ()
me.prop ('disabled', false);
clearInterval (me.interval);
, SLEEP);
);
);
</script>
</head>
<body>
<input type="button" value="btn1" />
<input type="button" value="btn2" />
</body>
</html>追问
没什么效果啊,看起来提交前
提交后
还是重复提交了
不知道,防止表单重复提交,不是你这样做的,你的做法有问题
参考技术C 可以的,一般博客里面很常见,hdp134793的博客有相关介绍防止多次引入js文件导致的重复注册点击事件
前端代码中的js文件如果是动态引入的或者是某个事件操作进行注册的,那么重复的引入js文件或者多次触发注册事件会导致事件多次进行注册,造成不必要的麻烦,所以需要在每次注册之前将先前的事件进行取消,下面以按钮的注册点击事件为例进行说明:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="../css_com/reset.css"> <style> </style> <!--网络cdn提供jquery,自己下载好引用一样--> <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script> </head> <body> <input type="button" value="按钮1" id="btn"> <input type="button" value="按钮2" id="btn2"> <script> // 为了防止多次注册事件,所以在每次注册之前需要提前将之前注册的点击事件去掉 $(function(){ $("#btn").click(function(){ $("body").off("click","#btn2").on("click","#btn2",function(){ alert("注册成功"); }); }); }); </script> </body> </html>
以上是关于求JS 大神指导,页面的防止重复点击事件(具体见补充)的主要内容,如果未能解决你的问题,请参考以下文章
怎么解决jquery 中 load 事件重复载入js的问题?