zoukankan      html  css  js  c++  java
  • 移除jQuery绑定的click历史事件

    事件原由:

     
    function promptImage(obj,callback){
      console.log(obj.a)
      $('#showImage').modal({backdrop:false}).on('hidden.bs.modal', function (e) {
        $('#showImage').modal('hide')
      })
          .find('.submit').click(function(event){
            $("#showImage").modal('hide')
            
            var imgs = $("#showImage .up-thumbnail img")
            callback({
              url:imgs.attr('src')
            })
            //解除历史绑定的 CLICK BUG
            //$(this).unbind('click')
      })
    }
    function clicks(){
    var i = 0;
    promptImage({a:i},function(res){
        i++
        console.log("i="+i)
      //do
      })
    }
     
    clicks()
    当多次调用这个事件之后,你会发现这个 i 一直在增加 并没有被清除!

    移除事件
    unbind(type [,data])     //data是要移除的函数
    $(‘#btn’).unbind(“click”); //移除click
    $(‘#btn’).unbind(); //移除所有
    对于只需要触发一次的,随后就要立即解除绑定的情况,用one()
    $(‘#btn’).one(“click”,function(){…….});
    模拟操作
    可以用trigger()方法完成模拟操作。
    $(‘#btn’).trigger(“click”);
    $(‘#btn’).click();
    触发自定义事件
    $(‘#btn’).bind(“myclick”,function(){….});
    $(‘#btn’).trigger(“myclick”);
    传递数据
    trigger(type [,data])
    $(‘#btn’).bind(“myclick”,function(event,message1,message2){………..});
    $(‘#btn’).trigger(“myclick”,[“传给message1″,”传给message2”]);
    执行默认操作
    $(“input”).trigger(“focus”);
    //不仅会触发input元素绑定的focus事件,还会触发默认操作——得到焦点。
    $(“input”).triggerHandler(“focus”);
    //只触发绑定事件,不执行浏览器默认操作
    其他用法
    绑定多个事件类型
    $(“div”).bind(“mouseover mouseout”,function(){…..});
    添加事件命名空间
    $(“div”).bind(“click.plugin”,function(){……});
    在所绑定的世界类型后面添加命名空间,这样在删除事件时只需要指定命名空间即可。
    $(“div”).unbind(“.plugin”);   //删除空间内的事件
    $(“div”).trigger(“click!”); //触发所以不包含在命名空间中的click方法
    如果包含在命名空间的也要触发:
    $(“div”).trigger(“click”);
    部分转自:http://www.cnblogs.com/zhangq723/archive/2011/04/02/2003358.html

  • 相关阅读:
    python学习笔记(unittest)
    python学习笔记(session)
    python学习笔记(requests)
    jmeter的学习(配置环境)
    Codeforces 576D. Flights for Regular Customers 题解
    Codeforces 1316F. Battalion Strength 题解
    2020年第十一届蓝桥杯省赛J-网络分析(带权并查集)
    第十一届蓝桥杯b组省赛 C.合并检测(内附详细的样例)
    蓝桥杯2020.7月真题走方格(到达终点的不同方案数)(记忆化搜索+DP)
    Codeforces Global Round 11 A. Avoiding Zero(思维构造)
  • 原文地址:https://www.cnblogs.com/zhaoleilei/p/6656562.html
Copyright © 2011-2022 走看看