博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
移除jQuery绑定的click历史事件
阅读量:6837 次
发布时间:2019-06-26

本文共 1548 字,大约阅读时间需要 5 分钟。

事件原由:

 
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

转载于:https://www.cnblogs.com/zhaoleilei/p/6656562.html

你可能感兴趣的文章
scala学习手记28 - Execute Around模式
查看>>
Filebeat的工作原理
查看>>
Elasticsearch配置文件详解
查看>>
Java虚拟机学习 - 查看JVM参数及值的命令行工具
查看>>
Ubiquitous Religions(friends变形)
查看>>
机器学习——聚类分析和主成分分析
查看>>
Win10上 visual studio设置为本地IIS运行网站时 必须以管理员身份加载项目的解决方法...
查看>>
记录常见的HTTP请求错误
查看>>
Java字符串替换函数replace、replaceFirst、replaceAll
查看>>
Ubuntu下搭建Android开发环境
查看>>
汇编指令
查看>>
yum安装mysql后root用户的临时密码
查看>>
mysql 原理~ 乐观锁和悲观锁
查看>>
策略模式
查看>>
neo4j使用
查看>>
MVC WebAPI 的基本使用
查看>>
Oracle 字符集的查看和修改
查看>>
Selection
查看>>
索引的几种使用方式
查看>>
Excel2007给表格设置成只读加密属性 让他人无法修改
查看>>