jquery 事件解析

 (1)事件类型:

blur失去焦点时触发

focusout失去焦点时触发,可以检测后代获取焦点的情况

focus 进入焦点时触发,可通过键盘或者tab键触发

focusin进入焦点时触发,可以检测后代获取焦点的情况,简而言之支持冒泡

 

click单击触发

dbclick 双击触发

resize窗口调整触发

scroll滚动时触发

submit提交时触发

change内容改变时触发

error出现错误时触发

select 元素文本被选取时触发 

 

keydown键盘按下时触发

keypress键盘按下时触发,可以阻止键盘默认行为

keyup 键盘释放时触发

event.keycode获取键盘代码

 

mousedown鼠标按下时触发,与click不同,仅需要按下鼠标

mouseup鼠标松开时触发,如果松开时的元素与按下时元素相同则会触发click

mouseenter在光标进入元素时触发,只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件

mouseleave 在光标离开元素时触发,只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件

一般用hover代替enter和leave两个事件 

mouseout鼠标移出一个元素时触发,不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。

mouseover当鼠标指针位于元素上方时,会发生 mouseover 事件不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件

mousemove当鼠标指针在指定的元素中移动时,就会发生 mousemove 事件,只有在鼠标指针穿过被选元素时,才会触发 mousemove 事件


 

(2)事件绑定/委托:

one() 仅触发一次事件

on()绑定事件,推荐使用

$(document).on(‘click‘,‘#list li‘,function(){})
 off() 取消绑定,推荐使用

bind()对于后来添加的元素不在添加函数

unbind()

live()事件绑定到当前以及以后添加的元素上面

$(‘#list li‘).bind(‘click‘,‘#list li‘,function(){})
die()

detegate()事件绑定到当前以及以后添加的元素上面

$(‘#list‘).delegate(‘click‘,‘li‘,function(){})

$(‘#list‘).on(‘li‘,‘click‘,function(){})

 undelegate() 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。