jquery click嵌套 事件重复注册 多次执行的问题解决

jquery click嵌套 事件重复注册 多次执行的问题解决

转载自新浪博客:http://blog.sina.com.cn/s/blog_4f925fc30100ln1o.html

jquery click事件中嵌套click会重复注册内部的click事件,导致重复执行。 比如 $(...).click(function(){   $(...).click(function(){     ...//多次执行    }); });
解决方法一: 每次执行完了,解除绑定,如
$(...).click(function(){   $(!!!).bind(‘click‘,function(){     ...//正常执行     $(!!!).unbind(‘click‘);   }); });
方法二: 分开写click事件
$(...).click(function(){}); $(!!!).bind(‘click‘,function(){     ...//正常执行 });

时间: 2024-10-03 01:32:26

jquery click嵌套 事件重复注册 多次执行的问题解决的相关文章

jquery 事件,注册 与重复事件处理

jquery有时候会出现重复注册一个事件的问题,导致点击一个事件,这个事件被重复执行,也就是触发事件的次数有几次, 那么这个事件就会被执行叠加重复几次. 我这边做的一个项目,在某个页面初始化的时候,给一个控件注册了一个事件,后来发现,进入几次这个页面,因为进入页面会执行一次注册,这个事件就会被注册几次,被重复执行,没有覆盖. 上网查询了一下,总结了以下几种情况: 1,通过 on方法注册的事件,每次的注册不会把原来的方法覆盖掉.会以队列的形式保存起来点击的时候,触发事情会一个个按注册的顺序执行.

事件继承,避免重复注册注意事项

BaseForm: 1 /** 2 * 基本表单类 3 */ 4 Ext.define("Lms.view.BaseForm", { 5 extend : "Ext.form.Panel", 6 alias : "widget.baseform", 7 bodyPadding : '10 20 10 10', 8 border : false, 9 layout : "form",// 默认 10 waitMsg : &quo

web前端之锋利的jQuery四:jQuery中的事件

web前端之锋利的jQuery四:jQuery中的事件 加载DOM: 执行时机: $(document).ready(function(){}); 详情解释 事件绑定: bind(event,data,function) 第一个参数是事件类型,类型包括:blur focus load resize unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter change select submit

jquery为链接a元素注册click事件并避免跳转现象

jquery为链接a元素注册click事件并避免跳转现象:在实际应用中,可能需要将链接a作为一个普通的按钮使用,但是由于点击按钮会导致跳转动作,下面就通过代码实例介绍一下如何实现点击功能,并且不会出现跳转现象,代码如下: <!DOCTYPE html><html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.

jquery中click事件重复绑定问题

在最近的项目中遇到这样一个问题: 从心愿单中删除产品,1.如果直接确定删除,则删除成功,2.如果先取消删除,再次点击再确认删除,则会出现问题,测试发现: 对未来元素(类名为deleteFav的对象)绑定click事件中,如果function中还包含有元素(简称A)的click事件,在点击两次删除按钮时会出现A 元素的click事件重复绑定的情况 $("body").on("click",".deleteFav",function(){//点击删除

jquery事件重复绑定

本文实例分析了jQuery防止重复绑定事件的解决方法.分享给大家供大家参考,具体如下: 一.问题: 今天发现jQuery一个对象的事件可以重复绑定多次,当事件触发的时候会引起代码多遍执行. 下面是一个click事件被重复绑定的示例: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 function reg_button_click(){   $("#button).click(function(){     alert("button click");   }

防止多次引入js文件导致的重复注册点击事件

前端代码中的js文件如果是动态引入的或者是某个事件操作进行注册的,那么重复的引入js文件或者多次触发注册事件会导致事件多次进行注册,造成不必要的麻烦,所以需要在每次注册之前将先前的事件进行取消,下面以按钮的注册点击事件为例进行说明: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title>

jquery事件重复绑定解决办法

jquery事件重复绑定解决办法 一$.fn.live 重复绑定 解决:使用die()方法,在live()方法绑定前,将此元素上的前面被绑定的事件统统解除,然后再通过live()方法绑定新的事件. //先通过die()方法解除,再通过live()绑定$(“#selectAll”).die().live(“click”,function(){//事件运行代码}); 二click等事件 解决:使用unbind("click")方法先解除绑定的事件再绑定新事件,即在给对象绑定事件之前先移除该

解决jquery绑定事件重复绑定问题

解决jquery绑定事件重复绑定问题,以下用绑定click事件为例: 出现重复绑定情况: $(dom).click(function(e){})或者$(dom).on('click', function(e){}) 不管是click还是on都是会在原来方法上重复添加,所以我们需要如下做就可以解决 $(dom).unbind('click').click(function(e){}) 在绑定新click方法前对元素所绑定的click方法解绑