一、解绑事件方法unbind()

  • 用什么方式绑定的事件,最好用对应的方式解绑事件
  • unbind("事件名字")括号里写上事件名字,就会解除这个事件
  • unbind()括号里没有参数就是解除全部事件
  • 对象.事件()这种方法添加的事件也可以使用unbind解除
    <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<script>
$(function(){
//为div绑定事件
$("#btn1").click(function(){
$("#dv").bind("click",function(){
console.log("div第一次被点了!!!");
}).bind("click",function(){
console.log("div第二次被点了!!!");
}).bind("mouseenter",function(){
console.log("鼠标进入div了!!!");
}).bind("mouseleave",function(){
console.log("鼠标离开div了!!!");
});
});
//为div解绑单个事件,所有的点击事件都会被移除
$("#btn2").click(function(){
$("#dv").unbind("click");
});
//为div解绑所有的事件,div的所有事件都会被移除
$("#btn3").click(function(){
$("#dv").unbind();
});
});
</script>
<input type="button" value="绑定事件" id="btn1">
<input type="button" value="解绑事件单个" id="btn2">
<input type="button" value="解绑事件全部" id="btn3">
<div id="dv" style="width: 300px;height: 300px;border: 1px solid #000;"></div>

二、解绑事件方法undelegate()

    <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<script>
$(function(){
//为div绑定事件,同时在div中创建添加一个p标签,并且绑定事件
$("#btn1").click(function(){
//div绑定事件
$("#dv").click(function(){
console.log("div被点了!!!");
}).mouseenter(function(){
console.log("鼠标进入到div了!!!");
}).mouseleave(function(){
console.log("鼠标离开div了!!!!");
});
//添加p,并绑定事件
$("<p>这个一个p</p>").appendTo($("#dv"));
$("#dv").delegate("p","click",function(){
console.log("p被点了!!!");
});
$("#dv").delegate("p","mouseenter",function(){
console.log("鼠标进入p了!!!");
});
$("#dv").delegate("p","mouseleave",function(){
console.log("鼠标离开p了!!!");
});
});
//解绑单个事件----解绑了p的点击事件,div的点击事件存在
$("#btn2").click(function(){
console.log("================");
$("#dv").undelegate("p","click");
});
//解绑多个事件------解绑了p的点击事件和鼠标进入事件.div的点击事件和鼠标进入事件存在
$("#btn3").click(function(){
console.log("================");
$("#dv").undelegate("p","click mouseenter");
});
//解绑全部事件-------解绑了p的全部事件,div的事件全部还存在
$("#btn4").click(function(){
console.log("================");
$("#dv").undelegate();
});
});
</script>
<input type="button" value="绑定事件" id="btn1">
<input type="button" value="解绑单个事件" id="btn2">
<input type="button" value="解绑多个事件" id="btn3">
<input type="button" value="解绑全部事件" id="btn4">
<div id="dv" style="width: 300px;height: 300px;border: 1px solid #000;"></div>

三、解绑事件方法off()

    <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<script>
$(function () {
//为div绑定事件,同时在div中创建添加一个p标签,并且绑定事件
$("#btn1").click(function () {
//div绑定事件
$("#dv").click(function () {
console.log("div被点了!!!");
}).mouseenter(function () {
console.log("鼠标进入到div了!!!");
}).mouseleave(function () {
console.log("鼠标离开div了!!!!");
});
//添加p,并绑定事件
$("<p>这个一个p</p>").appendTo($("#dv"));
$("#dv").on("click","p",function () {
console.log("p被点了!!!");
});
$("#dv").on("mouseenter","p",function () {
console.log("鼠标进入p了!!!");
});
$("#dv").on("mouseleave","p",function () {
console.log("鼠标离开p了!!!");
});
});
//解绑子元素单个事件
$("#btn2").click(function () {
console.log("================");
$("#dv").off("click","p");
});
//解绑子元素多个事件
$("#btn3").click(function () {
console.log("================");
$("#dv").off("click mouseenter","p");
});
//解绑子元素全部事件
$("#btn4").click(function () {
console.log("================");
$("#dv").off("","p");
});
//解绑子元素和父元素单个事件
$("#btn5").click(function () {
console.log("================");
$("#dv").off("click");
});
//解绑子元素和父元素多个事件
$("#btn6").click(function () {
console.log("================");
$("#dv").off("click mouseenter");
});
//解绑子元素和父元素全部事件
$("#btn7").click(function () {
console.log("================");
$("#dv").off();
});
//补充:解绑div中所有的子元素的点击事件---不只是子元素p
$("#btn8").click(function () {
console.log("================");
$("#dv").off("click","**");
});
});
</script>
<input type="button" value="绑定事件" id="btn1">
<input type="button" value="解绑子单个事件" id="btn2">
<input type="button" value="解绑子多个事件" id="btn3">
<input type="button" value="解绑子全部事件" id="btn4">
<input type="button" value="解绑子和父单个事件" id="btn5">
<input type="button" value="解绑子和父多个事件" id="btn6">
<input type="button" value="解绑子和父全部事件" id="btn7">
<input type="button" value="补充" id="btn8">
<div id="dv" style="width: 300px;height: 300px;border: 1px solid #000;"></div>

jQuery相关方法8-----解绑事件的更多相关文章

  1. 从零开始学 Web 之 jQuery(六)为元素绑定多个相同事件,解绑事件

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  2. 【JQ】jq动态绑定事件.on()、解绑事件off()

    #JQ 绑定与解绑事件的方法的历史演变 1. jquery1.4 及之前的版本,由.click() 或 .bind()方法绑定的事件,不能适用脚本创建的新元素:即是说页面加载完成后,再动态创建的DOM ...

  3. 5月23日笔记-js绑定事件、解绑事件、复合事件

    each() $("p").each(function(i,ele){ //alert(ele.innerHTML); alert($("p:eq("+i+&q ...

  4. 从零开始学 Web 之 DOM(六)为元素绑定与解绑事件

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... +-------------------------------------------------------- ...

  5. JS---DOM---为元素解绑事件

    解绑事件 注意:用什么方式绑定事件, 就应该用对应的方式解绑事件 1.解绑事件 对象.on事件名字=事件处理函数--->绑定事件 对象.on事件名字=null;   //1 对象.on事件名字= ...

  6. jQuery事件之解绑事件

    语法: $(selector).unbind([eventType][,handler(eventObject)]); 返回值:jQuery 参数解释: eventTypey:类型:String以后包 ...

  7. jquery绑定事件,解绑事件

    unbind([type],[data]) 是 bind()的反向操作,从每一个匹配的元素中删除绑定的事件.如果没有参数,则删除所有绑定的事件.你可以将你用bind()注册的自定义事件取消绑定.如果提 ...

  8. jquery移除元素时会自动解绑事件

    .html() When .html() is used to set an element's content, any content that was in that element is co ...

  9. bind() unbind()绑定解绑事件

    .bind( eventType [, eventData], handler(eventObject)) 本文实例分析了JQuery中Bind()事件用法.分享给大家供大家参考.具体分析如下: .B ...

  10. jq的.off解绑事件

    .off( events [, selector ] [, handler ] ) 描述:移除一个事件处理函数 events 类型: String 一个或多个空格分隔的事件类型和可选的命名空间,或仅仅 ...

随机推荐

  1. 史上最全最新java面试题合集二(附答案)

    下面小编整理了本套java面试题全集,分享给大家,希望对大家的java学习和就业面试有所帮助. 51.类ExampleA继承Exception,类ExampleB继承ExampleA. 有如下代码片断 ...

  2. websocket 协议简述

    WebSocket 是一种网络通信协议,RFC 6455 定义了它的通信标准,属于服务器推送技术的一种 由于 HTTP 无状态.无连接.单向通信的特性,导致 HTTP 协议无法实现服务器主动向客户端发 ...

  3. hdu 2616 暴力使用 dfs求最短路径(剪枝有点依稀)

    Kill the monster Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  4. [转载] jmeter Bean Shell的使用

    Jmeter有哪些Bean Shell 定时器: BeanShell Timer 前置处理器:BeanShell PreProcessor 采样器: BeanShell Sampler 后置处理器:B ...

  5. SVN_03绿色版

    1.首先备份当前安装visualSVN文件的bin目录,万一出错还能反个水.一般默认安装路径是C:\Program Files(x86)VisualSVN\bin 2.然后运行ildasm,Windo ...

  6. mysql 查询表的字段名称,字段类型

    select column_name,column_comment,data_type from information_schema.columns where table_name='查询表名称' ...

  7. 数据结构之队列(queue)

    队列介绍 1.队列是一个有序列表,可以用数组或是链表来实现. 2.遵循先入先出的原则.即:先存入队列的数据,要先取出.后存入的要后取出. 应用场景 比如某某银行叫号系统: 数组模拟队列 队列本身是有序 ...

  8. iOS - Objective-C 关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)

    关联是指把两个对象相互关联起来,使得其中的一个对象作为另外一个对象的一部分. 关联特性只有在Mac OS X V10.6以及以后的版本上才是可用的. 在类的定义之外为类增加额外的存储空间 使用关联,我 ...

  9. iOS NSNotification传递带参数的通知

    普通的通知使用 注册观察者 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getNotificat ...

  10. cocos动画没有cc.Sprite.spriteFrame属性

    对于新人来说总是有那么多的坑等着你. 新建动画节点的时候千万别[新建空节点]!!! 上面这个就是新建了空的节点,导致没有cc.Sprite.spriteFrame属性. 正确姿势: 粗略试了一下除了空 ...