一、解绑事件方法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. nmap使用帮助翻译

    Nmap 7.60 ( https://nmap.org )Usage: nmap [扫描类型] [操作] {目标说明}目标说明:  可以识别主机名.IP地址.网络,等等.  例如: scanme.n ...

  2. 机器学习之Bagging与随机森林笔记

    集成学习通过将多个学习器进行结合,常可获得比单一学习器显著优越的泛化性能.这对“弱学习器”尤为明显,因此集成学习的很多理论研究都是针对弱学习器进行的,而基学习器有时也被直接称为弱学习器.虽然从理论上来 ...

  3. 资深程序员推荐必备书籍 《C语言程序设计》

    当下,IT行业发展日趋迅猛,产值成倍增长,高薪的诱惑更是驱使许多人想要进入IT行业发展.为了使大家更全面理解C语言程序设计,由千锋教研院高教产品研发部编著.清华大学出版社倾情出版的<C语言程序设 ...

  4. python读取文件行数和某行内容

    学习记录: python计算文件的行数和读取某一行内容的实现方法 - nkwy2012 - 博客园https://www.cnblogs.com/nkwy2012/p/6023710.html 文本文 ...

  5. Oracle随笔之用拆分后的列数据关联表查询

    -----------------------建表------------------------- create table test(id int, plist varchar2(30)) ; c ...

  6. NIO--ByteBuf

     Nio 的ByteBuffer 和 Netty 的 ByteBuf 的区别: 1.ByteBuf 将 ByteBuffer的position 分解为:readIndex , writeIndex 因 ...

  7. DG环境恢复同步遇到报错ORA-00353ORA-00334以及ORA-00600[2619], [47745]

    问题说明 客户环境主库4节点RAC11.2.0.4,单实例DG环境,DG由于空间不足,导致同步中断,由于DG备库未应用的归档主库都再,本次恢复的方式,是开启dg mrp进程,自动同步追上主库. 以下遇 ...

  8. 天梯赛 L2-023. 图着色问题

    题解:用dfs遍历图的每条边就好,这里注意要求颜色的个数为k #include <cstdio> #include <iostream> #include <cstrin ...

  9. 使用MD5加密字符串

    一.概念: MD5码以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值. 二 ...

  10. javascript -- 时间转换

    function numFormat(num){ //时间处理 return ('00' + num).substr(-2);    #处理 日期前面有0的情况}function timeFormat ...