jQuery事件绑定

1.鼠标事件

单击:click([[data],fn])
双击:dblclick([[data],fn])

$('.div).click(function(){
	console.log("click");
});

注意:双击事件中必然会有单击事件
鼠标按下:mousedown
鼠标放开:mouseup

鼠标进入:mouseenter
鼠标移出:mouseleave
鼠标悬停:hover([over],out),鼠标进入和退出时触发两个函数,相当于mouseenter加上mouseleave

$('.div).hover(function(){
	console.log("enter");
},function(){
	console.log("leave");
});

鼠标进入和退出指定元素及其子元素时触发:mouseovermouseout
鼠标进入子元素时会触发,离开子元素时也会触发。如果一个元素有多个子元素,鼠标从外进到内部时该事件将触发多次。
鼠标移动(在DOM内部):mousemove
鼠标滚动:scroll

2.键盘事件

键盘或按钮被按下:keydown([[data],fn])
按钮被松开时:keyup,它发生在当前获得焦点的元素上。
当键盘或按钮被按下时,发生keypress事件。必须是有输入内容的时候才能触发,例如输入法干扰、ctrl、windows组合键时不能触发。

3.其他事件

DOM载入就绪:ready(fn)
当调整浏览器窗口大小时触发:resize([[data],fn]),注意,DOM的大小和window的大小没有直接关系,因此该事件需要有window对象来触发。

$(window).resize(function(){
	console.log($(this));
});

元素获得焦点:focus([[data],fn])
元素失去焦点:blur([[data],fn])
检测到内容发生改变:change,例如input的value,输入时不会触发,键入回车或点击向上向下按钮(NUMBER)或改变日期(date)时触发。以轮值方式检测,并不是实时的,因此当改变非常快时,事件触发会跟不上改变的速度。
当textarea或文本类型的input元素中的文本被选择时:select
提交表单时:submit([[data],fn])

$('form').submit(function(){
	console.log("sucess");
	return true;
});

4.事件参数

event:所有的事件都会传入event对象作为参数,可以从event对象上获取到更多信息。

5.事件绑定与取消

5.1 事件绑定

on(events,[selector],[data],fn):在选择元素上绑定一个多个事件的事件处理函数。

$('a').click({
	console.log("a");
});

相当于

$('a').on('click',function(event){
	console.log("a");
});

在加上第二个参数(选择器)

$(document).on('click','a',function(event){
	console.log("a");
});

绑定多个事件处理函数的情况:

$('a').on(
	mouseenter:function(event){
		console.log("enter");
	},
	mouseleave:function(event){
		console.log("leave");
	}
);

5.2 事件取消

off(events,[selector],fn):在选择元素上移除一个多个事件的事件处理函数。

5.2 只绑定一次

one(type,[data],fn):为每一个匹配元素的特定事件,比如(click)绑定一个一次性的事件处理函数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值