事件绑定方式
jQuery绑定事件的方式很多
除了直接绑定事件外,还有四种监听器
绑定 | 解除 | 兼容 | 特点 |
---|---|---|---|
bind | unbind | all | 仅可监听已有元素 |
live | die | 1.9- | 应该已经弃用 |
delegate | undelegate | 1.4.2+ | 一般用于委派 |
on | off | 1.7+ | 最常用的 |
资料显示:实际上bind、live、delegate都是调用了on方法
//直接绑定事件
$("button").click(function(){
});
//on监听器
$("button").on("click",function(){
});
//监听多个事件,对象绑定一个函数,一般使用delegate,但on也可以
$("button").delegate("mouseover click",function(){
});
//监听多个事件,绑定多个函数
$("button").on(
mouseover :function(){
},
mouseout :function(){
}
);
//事件委派
$("document").on("click","p",function(){
});
与原生dom不同,对于同一对象的同一个事件即使不使用监听器jQuery并不会互相覆盖
部分事件只能使用监听器方法
事件移除
//移除事件
$("button").off(); //移除全部事件
//off不一定与on成对出现
$("button").off("click");//移除一种事件
$("button"