前端大部分事用鼠标事件与用户交互的,通过各种鼠标事件的结合可以使用户体验升高。
这里主要汇总一下大部分的鼠标事件:
(1)click事件
click事件于用户在元素敲击鼠标左键,并在相同元素上松开左键时触发。
$('p').click(function(){
alert('clickfunction is running !');
});
(2)dbclick事件
dbclick事件在用户完成迅速连续的两次点击之后触发,双击的速度取决于操作系统的设置。一般双击事件在页面中不经常使用。
$('p').dbclick(function(){
alert('dbclickfunction is running !');
});
(3)mousedown事件
mousedown事件在用户敲击鼠标键时触发,跟keydown事件不一样,该事件仅在按下鼠标时触发。
$('p').mousedown(function(){
alert('mousedownfunction is running !');
});
(4)mouseup事件
mouseup事件在用户松开鼠标时触发,如果在与按下鼠标的元素相同元素上松开,那么click事件也会触发。
$('p').mouseup(function(){
alert('mouseupfunction is running !');
}).click(function(){
alert('clickfunction is running too !');
});
(5)mouseover事件
mouseover事件于用户把鼠标从一个元素移动到另外一个元素上时触发,如果需要知道来自那个元素可以使用,relatedTagrget属性。
(6)mouseout事件
mouseout事件于用户把鼠标移出一个元素时触发,这包括从父元素移动到子元素上,或者使用键盘跳到元素上。
��(7)mouseenter事件
mouseenter事件是在用户光标进入元素上时触发。
$('p').mouseenter(function(){
alert('mouseenter function is running !');
});
(8)mouseleaver事件
mouseleaver事件是在用户的光标离开元素时触发。
$('p').mouseleaver(function(){
alert('mouseleaver function is running !');
});
重点说明:
1 mouseover与mousemove的区别:
mouseover是当鼠标移动到对象时产生,只产生一次,这时如果继续在对象上移动,不会再产生mouseover事件,而是mousemove事件,mousemove事件是当鼠标进入对象后,如果在对象上不断地移动,那么该事件会不断地产生。
mouseOver 从父元素进入子元素,从子元素进入父元素都能触发
2 mouseout事件
与mouseover相对,一个是进入,一个是出去。离开子元素同样可以触发父元的mouseout事件
3 mousedown,mouseup事件
用户鼠标按下时触发mousedown,再放开时触发mouseup。
4 mousenter,mouseleave事件
只有当鼠标进入绑定的元素时触发 mousenter不区分子元素
只有当鼠标离开绑定的元素时触发 mouseleave不区分子元素