jQuery为我们提供了跟加方便的绑定事件。
jQuery 事件处理
因为普通注册事件方法的不足,jQuery又开发了多个处理方法,重点讲解如下:
-
on(): 用于事件绑定,目前最好用的事件绑定方法
-
off(): 事件解绑
-
trigger() / triggerHandler(): 事件触发
$("div").on({
事件:function(){
};
},{
事件:function(){
}
}); //1.用on绑定事件,可在同一个元素身上绑定多个事件。
$("div").on("click fousr",function(){
$(this).css("样式","属性值");
}); //2.给一个元素绑定两个事件,做一件事件。
//3.事件委派 通过父元素绑定事件 给子元素绑定事件
// 它和DOM的冒泡是有一点区别,冒泡是同过从底层冒到上面。而事件委派 是特意派给指定的子元素。
$("ul").on("click","li",function(){
$(this).css("属性","属性值");
});
4.可以动态创建的元素绑定事件
$("ul").on("click",funciton(){
var li=$("<li></li>");
$(this).appden(li);
});
事件处理 off() 解绑事件
当某个事件上面的逻辑,在特定需求下不需要的时候,可以把该事件上的逻辑移除,这个过程我们称为事件解绑。jQuery 为我们提供 了多种事件解绑方法:die() / undelegate() / off() 等,甚至还有只触发一次的事件绑定方法 one(),在这里我们重点讲解一下 off() ;
$("p").off("click")//解除事件
$("ul").off("click","li")
事件处理 trigger() 自动触发事件
有些时候,在某些特定的条件下,我们希望某些事件能够自动触发, 比如轮播图自动播放功能跟点击右侧按钮一致。可以利用定时器自动触发右侧按钮点击事件,不必鼠标点击触发。由此 jQuery 为我们提供了两个自动触发事件 trigger() 和 triggerHandler() ;
element.trigger() ;
element.trggerHandler() ;
两个的区别,第一个会触发默认事件 ,第二个不会触发默认事件。
jQuery 事件对象
jQuery 对DOM中的事件对象 event 进行了封装,兼容性更好,获取更方便,使用变化不大。事件被触发,就会有事件对象的产生。
<body>
<div></div>
<script>
$(function() {
$(document).on("click", function() {
console.log("点击了document");
})
$("div").on("click", function(event) {
// console.log(event);
console.log("点击了div");
event.stopPropagation();
})
})
</script>
</body>