首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
jquery on重复多次绑定
2024-11-04
jquery使用on()方法绑定的事件被执行多次的问题
jQuery用on()方法绑定了事件之后,在代码执行过程中,可能会遇到事件被多次执行的情况. 本来以为是事件冒泡的问题,后来发现是on()方法的特性引起的问题. 简单还原一下问题的场景 这里简单还原一下问题的场景,使用一个按钮给另一个按钮通过on()方法绑定事件. HTML的部分 <input id="bindEventBtn" type="button" value="给按钮绑定事件的按钮" /> <input id=&quo
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"); }
jquery的bind跟on绑定事件的区别
jquery的bind跟on绑定事件的区别:主要是事件冒泡: jquery文档中bind和on函数绑定事件的用法: .bind(events [,eventData], handler) .on(events [,selector] [,data], handler) 从文档中可以看出,.on方法比.bind方法多一个参数'selector' .on的selector参数是筛选出调用.on方法的dom元素的指定子元素,如: $('ul').on('click', 'li', function(
jquery 实现重复点击一个元素时不重复执行效果
jquery 实现重复点击一个元素时不重复执行效果 这需要用到jquery的stop方法 实例 停止当前正在运行的动画: $("#stop").click(function(){ $("#box").stop(); }); 定义和用法 stop() 方法停止当前正在运行的动画. 语法 $(selector).stop(stopAll,goToEnd) 参数 描述 stopAll 可选.规定是否停止被选元素的所有加入队列的动画. goToEnd 可选.规定是否允许完成
jQuery 的 $("someobjectid”).event() 的绑定
经验证,jquery 的 $("someobjectid”).event()事件绑定,如果放在某个会被重新初始化的对象里,就会被多次绑定. 如下 <div id="divID" name="divID"></div><div id="subdivID" name="subdivID"> <input id='btnId' name='btnId' type="
jquery动态添加元素无法触发绑定事件的解决方案。
jquery动态添加元素无法触发绑定的事件的解决方案. ╭(●`∀´●)╯二狗最近在工作中遇到一个问题,即当用jquery动态添加元素后,发现给动态添加的元素却无法触发事件(╯#-_-)╯╧═╧ ( ╯#-_-)╯┴-┴.后来在网上查阅了一些资料,发现原来要这样处理๑乛◡乛๑: 先上我出错的代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8">
【JQuery源码】事件绑定
事件绑定的方式有很多种.使用了jQuery那么原来那种绑定方式(elem.click = function(){...})就不推荐了,原因? 最主要的一个原因是elem.click = fn这种方式只能绑定一个事件处理,多次绑定的只会保留最后一次绑定的结果. 看一下jQuery绑定事件的方式有哪些 jQuery.fn.eventType([[data,] fn]) 比如eventType指的是事件类型,比如click: $("#chua").click(fn); data这个参数一般都
jquery事件重复绑定的几种解决方法 (二)
防止事件重复绑定共有4种方法: bind().unbind()方法 live().die()方法 off().on()方法 one()方法 一.bind().unbind()方法 bind();绑定事件 为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数. 从某种角度上讲,bind("click",function(){})与click(function(){})是等价的. unbind();移除通过bind()方法添加的事件 不仅仅对于bind()方法有效,它对于cli
jquery事件重复绑定的几种解决方法
防止事件重复绑定共有4种方法: bind().unbind()方法 live().die()方法 off().on()方法 one()方法 一.bind().unbind()方法 bind();绑定事件 为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数. 从某种角度上讲,bind("click",function(){})与click(function(){})是等价的. unbind();移除通过bind()方法添加的事件 不仅仅对于bind()方法有效,它对于cli
jquery事件重复绑定解决办法
一$.fn.live 重复绑定 解决:使用die()方法,在live()方法绑定前,将此元素上的前面被绑定的事件统统解除,然后再通过live()方法绑定新的事件. //先通过die()方法解除,再通过live()绑定 $(“#selectAll”).die().live(“click”,function(){ //事件运行代码 }); 二click等事件 解决:使用unbind("click")方法先解除绑定的事件再绑定新事件,即在给对象绑定事件之前先移除该对象上的原有事件 完整测试代
jquery事件重复绑定的快速解决方法
click等事件 解决:使用unbind("click")方法先解除绑定的事件再绑定新事件,即在给对象绑定事件之前先移除该对象上的原有事件 1 $("#test2").unbind('click').click(function() { 2 alert("click解除绑定执行" + k++ + "次"); 3 }); 转自:http://www.cnblogs.com/shiyou00/p/5531049.html
jquery 新建的元素事件绑定问题
js的事件监听跟css不一样,css只要设定好了样式,不论是原来就有的还是新添加的,都有一样的表现.而事件监听不是,你必须给每一个元素单独绑定事件. 常见的例子是处理表格的时候.每行行末有个删除按钮,点了这个能够删除这一行. <table> <tbody> <tr> <td>这行原来就有</td> <td><buttonclass="del"&g
jquery 新建的元素事件绑定问题研究[转]
原文:http://www.cnblogs.com/linzheng/archive/2010/10/17/1853568.html js的事件监听跟css不一样,css只要设定好了样式,不论是原来就有的还是新添加的,都有一样的表现.而事件监听不是,你必须给每一个元素单独绑定事件. 常见的例子是处理表格的时候.每行行末有个删除按钮,点了这个能够删除这一行. <table> <tbody> <tr> <td>这行原来就
jQuery中怎样阻止后绑定事件
你的代码在页面载入过程中已经完成事件绑定了,没有阻止后绑定的事件的办法了,不过可以删除当前指定节点的事件绑定.方法如下:$("#btn").click(function(){if($("#tx").val()==""){alert("e1");}else{//删除后绑定的事件...$("#btn").unbind('click');}});说明:unbind([type],[data])bind()的反向操
jQuery的4种事件绑定方法
jQuery中提供了四种绑定事件的方法,分别是bind.live.delegate.on,对应的解除监听的函数分别是unbind.die.undelegate.off: 一.on()方法(首选方法) on() 方法在被选元素及子元素上添加一个或多个事件处理程序. 自 jQuery 版本 1.7 起,on() 方法是 bind().live() 和 delegate() 方法的新的替代品.该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库. 参数: event:必需
Jquery动态添加的元素绑定事件的3种方法
假设我们点击li标签,弹出他的文本,如果是动态添加的li,点击是没有效果的,压根弹不出来文本. 下面博主分享一下为动态添加的元素绑定事件的三种方法,网上一般都是两种,我在这里多增加了一种. 事件案例: <ul id="ul1"> <li><a href="">世界上第三种电梯诞生了,居然是中国人发明的!</a></li> <li><a href="">电视名人辱骂
jquery中的DOM事件绑定与解绑
在jquery事件中有时候有的事件只需要在绑定后有效触发一次,当通过e.target判断触发条件有效触发后解除绑定事件,来避免多次无效触发和与未知情况造成冲突. 这时候就要用到了jquery中的事件绑定与事件解绑. $(document).on('click.endEdit',function (e) { if(!$(e.target).hasClass('datagrid-cell')&&e.target.tagName!="TD"){ //事件发生后的判断条件 dg
关于jquery on方法进行事件绑定触发次数指数叠加的问题
发生环境: $modal.on('click', '#search',function(e){}); 上面代码的语法是这样的: .on( events [, selector ] [, data ], handler(eventObject) ) 其中$modal为父容器,在该容器上绑定click事件,当id为search的button被点击时才触发function 存在问题: 1. 点击第一次触发一次 2. 点击第二次触发两次 3. 点击第三次触发四次 ... 以此类推成指数增长 问题原因:o
JQuery阻止冒泡事件on绑定中异常情况分析
科普下事件冒泡以及默认行为,以下面例子举列子: 事件冒泡:当点击内部button元素时,会触发自身及外层 a的点击事件,这就是事件冒泡引起的.事件会随着 DOM 的层次结构依次向上传播. 事件冒泡可能会引起意料之外的效果,有时候需要阻止事件的冒泡行为. 默认行为:例子中a的href跳转链接就是所谓的默认行为,或者是表单form的提交. JQuery中阻止冒泡常用到的有以下3个方法: 1:event.stopPropagation(); 只阻止了冒泡事件, 默认行为没有阻止 2:
Jquery 移除 html中绑定的onClick事件
HTML绑定示例: <button class="edit" onClick="showTurnEdit(this)">编辑</button> 需求: 在点击触发submit方法后,触发移除掉 .edit 中的onClick事件: 解决方案: 1.失败方案: $(".edit").removeAttr("onclick");//网上有些资料说jquery1.6+可以使用,但我试过不可以 2.成功方案&l
jQuery事件之on()方法绑定多个选择器,多个事件
这样一个需求,如果用live()方法实现的话 非常简单,容易理解. $('nav li, #sb-nav li, #help li').live('click', function () { // code... }); jquery在1.7版本后,建议大家用on方法代替之前的bind.live.delegate方法.那上面一句如果用on的话,怎么写呢? 其实查看live源码就知道,live实际是委托doucment进行事件委派的.按照这个思路,可以将on方法绑定到document即可. $(d
热门专题
ioctl应用层和内核层
h3c路由器怎么进入ssh
JDK文档下载 docset
windows 新建ssh config
@Scheduled fixedRate 注解配置时间
bpython ipython 区别
破解教务系统 javascript
japanhdv免费中文视频
html datalist没作用
sql维护计划覆盖备份
listbox的item双击事件
jq 插件和原生js 插件
vs2022 msdn 离线文档 镜像 下载
go.Binding 属性
HBuilder管理git项目
yii2把ueditor的图片上传如何设置最大长宽
如何更新visual c 14.0
std 获取线程id
windows10 共享 不能访问
C# 父窗体 panel 子窗体 自适应