添加事件(jquery)

对盒子内部的盒子添加跟本身盒子相同的事件的时候,需要小心谨慎一点。

诸如:

  从表象上看似乎没有什么太大问题,但是却存在一个致命的问题,就是每次点击box的时候,都会给test添加一个点击事件,而添加的点击事件并不会相互覆盖,是可以多次添加的,除非是同一事件,这就会造成,在后面的点击过程中会多次执行test的点击事件,类似于第二次点击执行两次,第三次点击执行三次……

  所以需要使用只添加一次事件one()。

  one()函数用于为每个匹配元素的一个或多个事件绑定一次性事件处理函数

  最简单的做法是:

或者也可以在给test添加点击事件之前,移除他本身已经具有的点击事件,off或者unbind均可,unbind底层也是使用off实现的。

  

时间: 2024-10-16 16:31:50

添加事件(jquery)的相关文章

jquery为新增元素添加事件

jquery为新增元素添加事件 默认情况,你使用jquery新增一个元素 ,用class的方法无法绑定事件,需要将绑定的函数放到jquery外面 然后在绑定行内事件 这样就可以绑定了

jQuery异步加载数据添加事件

几个月前在一个项目中涉及到树形栏,然后看了很多插件,觉得有点麻烦,于是自己写了一个,写着写着就出问题了.当时项目是通过树形栏进行权限控制的,管理员可以对从数据库去的数据动态生成树形栏进行增删改查操作,可是用$(".XX").click();方法是不行的.1.之前用的是jq1.4.3 ,jq1.7一下都可以使用live()方法,来实现该功能 $('#div').live('click',function(){ //do stuff }); 但是live方法也有不支持的事件,例如:togg

给Jquery动态添加的元素添加事件2

jquery为动态添加元素添加事件 还有这里:http://www.cnblogs.com/dumuqiao/archive/2011/09/09/2172511.html Event names and namespaces(事件名称和命名空间) http://www.css88.com/jqapi-1.9/on/ 任何事件的名称,可以作为events 参数.jQuery将通过所有浏览器的标准JavaScript事件类型,当用户操作事件,如click,浏览器会调用handler参数的函数.此外

给Jquery动态添加的元素添加事件

给Jquery动态添加的元素添加事件 我想很多人都会向我一样曾经 被新元素的事件绑定困惑很久也就是在页面加载完成后给元素绑定了事件,但又新增加的元素上却没有绑定任何事件. js的事件监听跟css不一样,css只要设定好了样式,不论是原来就有的还是新添加的,都有一样的表现.而事件监听不是,你必须给每一个元素单独绑定事件. 常见的例子是处理表格的时候.每行行末有个删除按钮,点了这个能够删除这一行. <table>    <tbody>        <tr>        

ie下,jquery为动态添加的节点添加事件,用live

jQuery向动态生成的内容添加事件响应 jQuery live() 方法详解 [收藏] 发布时间:2013-07-24 点击次数:176 来源:www.daimajiayuan.com jQuery live() 方法是给所有匹配的元素附加一个事件处理函数,即使这个元素是以后通过append,prepend,after等事件生成后的内容也依然有效. 这个方法可以看做是 .bind() 方法的一个变体.使用 .bind() 时,选择器匹配的元素会附加一个事件处理函数,而以后再添加的元素则不会有.

[转载]给Jquery动态添加的元素添加事件

原文地址:给Jquery动态添加的元素添加事件作者:小飞侠 我想很多人都会向我一样曾经 被新元素的事件绑定困惑很久也就是在页面加载完成后给元素绑定了事件,但又新增加的元素上却没有绑定任何事件. js的事件监听跟css不一样,css只要设定好了样式,不论是原来就有的还是新添加的,都有一样的表现.而事件监听不是,你必须给每一个元素单独绑定事件. 常见的例子是处理表格的时候.每行行末有个删除按钮,点了这个能够删除这一行. <table> <tbody> <tr> <td

JQuery实现表格动态增加行并对新行添加事件

实现功能: 通常在编辑表格时表格的行数是不确定的,如果一次增加太多行可能导致页面内容太多,反应变慢:通过此程序实现表格动态增加行,一直保持最下面有多个空白行. 效果: 一:原始页面 二:表1增加新行并绑定timepicker 三:表2自动增加行,新行绑定timepicker HTML源码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

jQuery中checkbo添加事件,判断是否选中和设置选中与取消选中

判断是否选中 $('#checkbox').prop('checked') 设置选中与不选中状态 $('#checkbox').attr('checked',true) $('#checkbox').attr('checked',false) 添加事件 html <div class="checkbox"> <label><input type="checkbox" class="pull-right"><

给DOM元素添加事件

今天遇到一个问题:鼠标单击页面中的任意标签,弹出该标签的名称. 实现代码如下: <script type="text/javascript"> document.onclick = function(e){ var e = (e||event); var o = e["target"] || e["srcElement"]; alert(o.tagName.toLowerCase()); } </script> 即创建了一

JS循环添加事件

通常我们会这样给元素添加事件: var ul=document.getElementsByTagName("ul")[0]; var list=document.getElementsByTagName("li"); for(var i=0;i<li.length;i++){ list[i].onclick=function(){ alert("我的index是"+i); } } 但结果往往不是我们想象的那样,它们全部弹出是"我的