一、js鼠标事件
1.单机 :左键单机、右键单机
2.双击
3.鼠标按下、鼠标松开
4.鼠标移动
5.鼠标进入、鼠标移出
6.鼠标滚轮滚动
二、JQuery鼠标事件整理
1.单机 :左键单机、右键单机
.Click():左键单机
为 JavaScript 的"click" 事件绑定一个处理器,或者触发元素上的 "click" 事件。(支持触屏的tab事件)
.contextmenu():右键单机
右键菜单按钮时间,可以拒绝右键菜单。
2.双击
.dblclick():双击触发
3.鼠标按下、鼠标松开
.mousedown():鼠标按下
.mouseup():鼠标松开
4.鼠标移动
.mousemove():鼠标移动
5.鼠标进入、鼠标移出
.mouseenter():当鼠标移入某元素时触发。
.mouselevave():当鼠标移出某元素时触发。
.mouseout():当鼠标移出某元素时触发,移入和移出其子元素时也会触发。
.mouseover():当鼠标移入某元素时触发,移入和移出其子元素时也会触发。
6.鼠标滚轮滚动
自带Jquery库不支持,有扩展库支持滚轮事件。
7.其他jquery扩展事件
.hover():将mouseenter/mouselave二个事件函数绑定到匹配元素上,分别当鼠标指针进入和离开元素时被执行。将一个单独事件函数绑定到匹配元素上,分别当鼠标指针进入和离开元素时被执行。
.toggle() :绑定两个或多个处理程序绑定到匹配的元素,用来执行在交替的点击。
三、鼠标event参数
event常用参数
- event.type:获取事件的类型,触发元素的事件类型
- event.pageX 和 event.pageY:获取鼠标当前相对于页面的坐标,可以确定元素在当前页面的坐标值,是以页面为参考点,不随滑动条移动而变化
- event.target:获取触发事件的元素
this和event.target的区别:
js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的目标DOM元素;
this和event.target都是dom对象,可以转换为jquery对象:$(this)和$(event.target)
- event.which:获取在鼠标单击事件中鼠标的左、中、右键(左键1,中间键2,右键3),在键盘事件中键盘的键码值
- event.currentTarget : 获取冒泡前的当前触发事件的DOM对象, 等同于this
- event.preventDefault() :阻止默认行为,可以用 event.isDefaultPrevented() 来确定preventDefault是否被调用过了
- event.stopPropagation() :阻止事件冒泡,事件是可以冒泡的,为防止事件冒泡到DOM树上,不触发任何前辈元素上的事件处理函数,可以用 event.isPropagationStopped() 来确定stopPropagation是否被调用过了
更多: