• 移除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

  • 相关阅读:
    java面向对象高级分层实例_实体类
    But what exactly do we mean by "gets closer to"?
    information entropy as a measure of the uncertainty in a message while essentially inventing the field of information theory
    SVM vs. Softmax
    every row of W is a classifier for one of the classes
    Hinge Loss
    polynomial time
    Conditional random fields
    Frobenius Norm
    L2 范数 L1 范数 出租车范数
  • 原文地址:https://www.cnblogs.com/zhaoleilei/p/6656562.html
Copyright © 2020-2023  润新知