事件原由:
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