一、问题描述

用户频繁触发同一表单的提交按钮可能会导致流程或程序紊乱

二、需求

满足问题需求,在不妨碍用户使用的情况下禁止程序多次被触发

三、实现逻辑

完成触发后解绑点击/相关事件

四、实现代码

1、知识点补充

             unbind()方法

                (1) 官方说明:unbind() 方法移除被选元素的事件处理程序。该方法能够移除所有的或被选的事件处理程序,或者当事件发生时终止指定函数的运行。

                (2)用途:unbind() 方法适用于任意由 jQuery 添加(如on、bind等)的事件处理程序

                (3)简单理解:解绑,与绑定bind()相对

其他常见绑定方法详解

2、代码

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>避免重复触发事件</title><script type="text/javascript" src="js/jquery-2.1.1.js"></script></head><body><div style="height: 500px;width: 200px;background-color: orange"></div><a href="#" id="trigger">避免点击事件的多次触发</a><script type="text/javascript">$("#trigger").bind('click',function(){$("#trigger").unbind();alert("哇哈哈哈");});/*  2种方式都可以实现需求,任选其一即可$("#trigger").on('click',function(){$("#trigger").unbind();alert("哇哈哈哈");}); */</script></body>
</html>

PS:需要注意的是,该方法仅适用于动态绑定的方法,而不是自定义的方法,否则不好使【以下情况unbind无效】

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>防止多次点击</title><script type="text/javascript" src="js/jquery-2.1.1.js"></script>
</style><div style="height: 500px;width: 200px;background-color: orange"></div><a href="#" id="trigger" onclick="aaa();">避免点击事件的多次触发</a><script type="text/javascript">function aaa(){$("#trigger").unbind();alert("哇哈哈哈");};</script></body>
</html>

防止多次触发click事件相关推荐

  1. [C# 基础知识系列]专题五:当点击按钮时触发Click事件背后发生的事情

    引言: 当我们在点击窗口中的Button控件VS会帮我们自动生成一些代码,我们只需要在Click方法中写一些自己的代码就可以实现触发Click事件后我们Click方法中代码就会执行,然而我一直有一个疑 ...

  2. JavaScript 触发click事件 兼容FireFox,IE 和 Chrome

    解决了火狐下无法触发click事件的问题 <script language="javascript">function test2(name){if(document. ...

  3. 触发dblclick事件时,避免触发click事件-实例

    正常情况下触发双击dblclick事件时会同时触发两遍单击click事件,这肯定不是我们想要的结果,那么如何避免伴随触发click事件呢? 浏览器监听双击事件的机制是,有没有在一定时间内监听到两次连续 ...

  4. ios 不能触发click事件

    1. 大部分介绍说可以在目标元素上使用样式cursor:pointer来解决该问题! 但我这边这么搞没成功.就换了事件类型, 用touchend替换click事件 2. 使用touchend事件,又引 ...

  5. vue实现自动触发click事件

    使用vue自定义指令实现 1.html <el-menu-item:index="item.id+''"v-for="(item,index) in assitio ...

  6. JQuery 自动触发 a 标签的 click事件

    前言 JQuery 使用 trigger 可以自动触发 HTML元素的 click() 方法 a标签有些特殊,JQuery无法使用 trigger 触发 a 标签click事件,需要迂回一下. a标签 ...

  7. js触发php事件,JavaScript_代码触发js事件(click、change)示例应用,Chrome , Firfox 不支持fireEvent的方 - phpStudy...

    代码触发js事件(click.change)示例应用 Chrome , Firfox 不支持fireEvent的方法 可以使用dispatchEvent的方法替代, 直接给一个兼容的Code. 触发c ...

  8. 阻止 mousemove 或 touchmove 与 click 事件同时触发

    最近做了自己的开源项目 Msw-Tools,参考了 VConsole 工具中按钮的拖拽功能,计划给 MSW 按钮也增加类似的拖拽效果,并兼容PC端和手机端,但是遇到一个问题:一个按钮绑定了多个事件,怎 ...

  9. JS触发Click操作以及获得事件源(转)

    firefox下js触发click事件:<a href="http://zochegua.blog.163.com/blog/#" οnclick="test1(' ...

最新文章

  1. js运算符单竖杠“|”的用法和作用及js数据处理
  2. logincontroller.java_使用HuTool工具类,实现登录验证码
  3. php读文阻塞,php socket编程 读完成后写阻塞
  4. 为Ubuntu安装FTP服务
  5. 【Python】WindowsError的错误代码详解
  6. Redis学习之集群(五)
  7. leetcode1094. 拼车
  8. LeetCode 1785. 构成特定和需要添加的最少元素(贪心)
  9. linux常用命令.txt
  10. WPF学习:分页控件
  11. linux小红帽实验心得,《小红帽》阅读后心得总结
  12. ad中装配图如何导出_如何把endnote中的research note和title等一起导出成表格或者txt?...
  13. Linux 操作系统启动流程以及trouble shooting
  14. docker 卸载镜像_docker删除所有容器和镜像命令
  15. thinkpad 自带软件的设置
  16. 拖动或点击CMD窗口造成程序阻塞,在bat文件中关闭cmd窗口的快速编辑模式
  17. [poi-tl]转换html内容到word
  18. 国产本地互联网络(LIN)物理层收发器 TJA 1028T
  19. Google Earth Engine(GEE)——GEE版本的全球森林火灾信息获取并呈现2001-2020年四川省火灾亮度时间序列分析
  20. 计算机中丢失storm.d,WIN7更新错误8024200D的解决方法

热门文章

  1. chorme浏览器插件的安装、配置及使用
  2. 【第三届蓝桥杯】手机尾号
  3. Win10 Bash搭建嵌入式Qt开发平台
  4. WSDM 2017精选论文
  5. Grafana使用双Y坐标轴详解
  6. 高精度练习之超大整数开根
  7. poi怎么设置某个单元格为下拉框_java excel 多选下拉列表设置
  8. Google Chrome 更新失败(错误:3)检查更新时出错
  9. 读《码农翻身:用故事给技术加点料》
  10. 基于数组(非链表)实现软件定时器---可以移植到未使用系统的单片机,通用型