这是因为你的add函数内又用了一个名为add的变量,而且没有用var声明,这样的话js就会把这个add当作window对象的一个属性,并且把同名的add函数给覆盖掉了,这样第二次运行的时候就报错了。解决的办法两个:一是把add函数和add变量改成不同的名字;二是用var来定义add(即 var add = ),这样的话这个add就是add函数内的一个局部变量,不会引起冲突了。
补充说一句:一定要用var来声明变量,不要以为var是可以省略的,其实是有很大差别的!
一、绑定事件方式 —— bind()、live()、delegate()、on()
bind():匹配已有元素添加一个或多个事件处理器
$(selector)bind(event,data,function)
event:必需项;添加到元素的一个或多个事件,例如 click,dblclick等;
单事件处理:例如 $("btn-test")bind("click",data,function(){});
多事件处理:1利用空格分隔多事件,例如 $("btn-test")bind("click dbclick mouseout",data,function(){});
2利用大括号灵活定义多事件,例如 $("btn-test")bind({"mouseout":function(){}, "click":function(){}, })
3空格相隔方式:绑定较为死板,不能给事件单独绑定函数,适合处理多个事件调用同一函数情况;
大括号替代方式:绑定较为灵活,可以给事件单独绑定函数;
data:可选;需要传递的参数;
function:必需;当绑定事件发生时,需要执行的函数;
$("btn-test")unbind("click"); (删除事件)
live() —— 向当前或未来的匹配元素添加一个或多个事件处理器;
$(selector)live(event,data,function)
event:必需项;添加到元素的一个或多个事件,例如 click,dblclick等;
单事件处理:例如 $("btn-test")live("click",data,function(){});
多事件处理:1利用空格分隔多事件,例如 $("btn-test")live("click dbclick mouseout",data,function(){});
2利用大括号灵活定义多事件,例如 $("btn-test")live({"mouseout":function(){}, "click":function(){}, })
3空格相隔方式:绑定较为死板,不能给事件单独绑定函数,适合处理多个事件调用同一函数情况;
大括号替代方式:绑定较为灵活,可以给事件单独绑定函数;
data:可选;需要传递的参数;
function:必需;当绑定事件发生时,需要执行的函数;
$("btn-test")die("click");(删除事件)
delegate() —— 为指定的当前或未来元素(被选元素的子元素)添加一个或多个事件处理程序。
$(selector)delegate(childSelector,event,data,function)
childSelector: 必需项;需要添加事件处理程序的元素,一般为selector的子元素;
event:必需项;添加到元素的一个或多个事件,例如 click,dblclick等;
单事件处理:例如 $("header")delegate("#btn-test1","click",data,function(){});
多事件处理:1利用空格分隔多事件,例如 $("header")delegate("#btn-test1","click dbclick mouseout",data,function(){});
2利用大括号灵活定义多事件,例如 $("header")delegate("#btn-test1",{"mouseout":function(){}, "click":function(){}, })
3空格相隔方式:绑定较为死板,不能给事件单独绑定函数,适合处理多个事件调用同一函数情况;
大括号替代方式:绑定较为灵活,可以给事件单独绑定函数;
data:可选;需要传递的参数;
function:必需;当绑定事件发生时,需要执行的函数;
on() —— 为指定的当前或未来元素(被选元素的子元素),添加一个或多个事件处理程序。
使用方式
$(selector)on(event,childselector,data,function)
event:必需项;添加到元素的一个或多个事件,例如 click,dblclick等;
单事件处理:例如 $("header")on("click","btn-test",data,function(){});
多事件处理:1利用空格分隔多事件,例如 $("header")on("click dbclick mouseout","btn-test",data,function(){});
2利用大括号灵活定义多事件,例如 $("header")on({"mouseout":function(){}, "click":function(){}, },"btn-test");
3空格相隔方式:绑定较为死板,不能给事件单独绑定函数,适合处理多个事件调用同一函数情况;
大括号替代方式:绑定较为灵活,可以给事件单独绑定函数;
childSelector: 可选;需要添加事件处理程序的元素,一般为selector的子元素;
data:可选;需要传递的参数;
function:必需;当绑定事件发生时,需要执行的函数;
$("header")off("click","btn-test");(删除事件)
都是在ITjob,上,学习的,希望能帮到你吧
点击以下按钮就可以获取其他td的值:
var tds = $(this)parent()parent()children("td");得到的tdslength输出为0;
用aler($(this)parent()parent()children("td")eq(0)text())
部分代码:
<tr> <td> item</td> <td>111</td> <td><input type="button" name="del" value="删除" /></td>
</tr>
jQuery
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档 *** 作、事件处理、动画设计和Ajax交互。
jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 60+、FF 15+、Safari 20+、Opera 90+等。
以上就是关于jq 点击事件全部的内容,包括:jq 点击事件、jquery怎么获取已绑定的事件、jquery怎么点击一行某个td,获取其他td的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)