一、事件绑定
在jq1.7前jq事件绑定都是通过bind方法实现的,如下
$('selector').bind('eventType',data,callBack);
配对方法unbind
jqury1.7前一种类似预绑定live,它是通过冒泡的方式实现的,如下
$('selector').live('eventType',data,callBack);
配对方法die
jqury中事件代理,如下
$('selector').delegate('childDom',eventType,data,callBack);
配对方法ondelegate
1.7以后出现了on方法,使用on方法绑定方式也是大同小异
$('selector').on('eventType',selector,data,callBack);
配对方法off
区别:
1.bind方法用于将事件绑定到已选元素上,不能绑定还没出现的元素
2.live方法采用事件冒泡方式实现,可以绑定目前没有的元素(预绑定),1.7后弃用
3.delegate专门用于事件代理
4.on整合了上述三个方法(适用于1.7以后)
二、自定义事件
jqury中自定义事件不需要声明,直接使用bind或其他上述的方法绑定,如下
$(window).bind('love',function(){//绑定自定义事件,这里的window可以是任意对象
alert('love');
});
$(window).trigger("love");//触发自定义事件
使用场景:
主要思想是为了解决浏览器中基本事件不能完成对需求,一般用于组件向外暴露事件,实现解耦。