我的github(PS:希望star):https://github.com/thWinterSun/v-admin

最近做项目为一个添加按钮绑定点击事件,很简单的一个事情,于是我按照通常做法找到元素,使用jquery的on()方法为元素绑定了点击事件,点击同时发送请求。完成后看效果,第一次点击没有问题。再一次点击后发现发送了两次请求,后面再点击发现请求的数量越来越多。这时我初步判断可能是元素有多个或是多次调用了方法,但找了一遍,发现只为一个元素绑定了事件,且只调用了一次。后来通过查资料才知道是点击事件被累加绑定了!那到底什么是累加绑定呢?什么时候会发生累加绑定?累加绑定后该如何解决呢?下面我就通过这三个问题来说一下。

1 $("#adsCollection_tb .contentDel").on("click",function(){2   $(this).each(function(){3var obj_address_name = $(this).parent().parent().find(".obj_address_name").html();4 var jsonDel ={5 "head": {6   "module": "object",7    "function": "del_obj"

8 },9 "body":[10 {11    "name": obj_address_name12 }13 ]14 }15 alert("确定要删除这一条吗?")16 addrGroup.Ajax(jsonDel);17

18   });19 });

在页面中为一个元素绑定事件,事件执行后页面未刷新且元素还在,然后你再次点击,元素又被绑定个一次点击事件,这样第二次点击就会执行两次,以此类推。

如何解决累加绑定:第一种方法是元素点击后删除,然后再动态创建一个元素,再添加点击事件。显然这个方式很麻烦。

第二中方法是使用jquery的one()方法,为元素绑定一个一次性的事件处理函数,这个事件处理函数只会被执行一次。

1 $("#adsCollection_tb").one("click",function(){2 alert("执行");3 })

第三种方法是在每次绑定点击事件前先解除之前的事件绑定,再为元素绑定事件,类似于先清空,在做操作一样。但你使用bind()方法绑定时,可以用unbind()方法解除绑定。通常我们跟愿意用on()方法绑定事件,因为bind()方法已经不被推荐,那么那么就用off()方法解除事件绑定。

1 $("#adsCollection_tb").unbind("click").bind("click",function(){

2 alert("执行");

3 });

4 $("#adsCollection_tb").off("click").on("click",function(){

5 alert("执行");

6 });

java多次点击时事件_click事件的累加绑定,绑定一次点击事件,执行多次相关推荐

  1. android gridview item 点击,Android-取消GridView/ListView item被点击时的效果

    方法一,在控件被初始化的时候设置 gridView.setSelector(new ColorDrawable(Color.TRANSPARENT)); listView.setSelector(ne ...

  2. android百度地图单点定位_Android百度地图实现搜索和定位及自定义图标绘制并点击时弹出泡泡...

    一.问题描述 上一次我们使用百度地图实现基本的定位功能,接下来我们继续实现搜索和定位,并使用LocationOverlay绘制定位位置,同时展示如何使用自定义图标绘制并点击时弹出泡泡 如图所示: 二. ...

  3. 从根源上看屏幕点击事件是如何传递到View中的(上)-事件获取

    浅谈 曾经在开发的很长一段时间内,笔者对点击事件的认知只存在于自定义View中的onTouchEvent等方法的处理. 后来慢慢的接触到Android的事件分发机制,但也只是在Activity-> ...

  4. .net学习之母版页执行顺序、jsonp跨域请求原理、IsPostBack原理、服务器端控件按钮Button点击时的过程、缓存、IHttpModule 过滤器...

    1.WebForm使用母版页后执行的顺序是先执行子页面中的Page_Load,再执行母版页中的Page_Load,请求是先生成母版页的控件树,然后将子页面生成的控件树填充到母版页中,最后输出 2.We ...

  5. 表单文本框提示字符点击时清空

    表单文本框提示字符点击时清空(input标签onfocus时文本框内提示信息清空) 作用是,一个文本框,需要输入内容,在没有输入的时候里面有一段提示内容,当点击这个文本框输入的时候,文本框内的内容自动 ...

  6. DialogFragment中通过dataBinding绑定View,设置点击事件无效,通过getWindow设置dialog位置和大小无效。

    1.问题描述:DialogFragment中通过dataBinding绑定View,设置点击事件无效. private val binding: CoreDialogEditContentBindin ...

  7. JS盒子点击时跟随鼠标移动

    当鼠标点击时,拿到鼠标相对于自身X,Y位置 当鼠标移动时,拿到鼠标相对浏览器窗口位置 计算出盒子移动距离,赋值 当鼠标抬起时,鼠标移动事件失效 <!DOCTYPE html> <ht ...

  8. js+css实现鼠标点击时出现小心心

    1.先看效果图: 2.代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...

  9. ImageView点击时背景图修改(简单方法)

    在使用ImageView时,当被点击时,希望背景图修改一下,这样显示被点击效果明显一些.在这里,一个很简单的方法,最起码是个很清晰的方法.在res/drawable文件夹下创建一个xml文件.比如my ...

最新文章

  1. 一学就会的 Python 时间转化总结(超全)
  2. 鼠标控制,扇形的大小
  3. Check Dependency 2(一个检查.net部署文件完整性及一致性工具)
  4. face alignment by 3000 fps系列学习总结
  5. python 相对路径报错_小白学 Python(18):基础文件操作
  6. c语言 sizeof typeof,typeof、nameof、sizeof的用法
  7. WPF 动画执行后属性无法修改
  8. ffmpeg 从内存中读取数据(或将数据输出到内存)
  9. 计算机网络电子邮件的基本格式,怎样的格式才是正确的电子邮件格式?
  10. 拉格朗日、牛顿、拟合的应用
  11. PLC闪烁电路的实现
  12. Pytroch 深度学习 跑CIFAR10数据集
  13. 高德地图API画圆形、高的地图删除圆形打点
  14. 3D打印机T3升级corexy  制作过程(二)
  15. 大数据开发薪资水平怎么样?
  16. 大学——留德的路01
  17. dom4j demo
  18. C语言程序设计基础知识——谭浩强版
  19. opencv中几种阈值分割
  20. Ebc编码与asc编码转换

热门文章

  1. OpenCV学习笔记(九): 漫水填充:floodFill()
  2. 二叉树的一些leetcode题目+python(c++)
  3. Smarty模板技术学习(二)
  4. Effective Java~9. try-with-resource 优先于 try-catch
  5. Java加密与解密的艺术~数字证书~证书管理
  6. 计算机网络技术专业的规划,计算机网络技术专业建设规划
  7. 矩阵连乘问题(c++)
  8. linux文本处理脚本题,Linux文本处理工具sed练习题
  9. python修改xpath节点_Xpath python在特定文本后查找节点
  10. 风机桨叶故障诊断(三) 识别桨叶——初步构建BP神经网络