携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第20天,点击查看活动详情
鼠标点击事件
鼠标点击相关的有四个事件:
click:按下鼠标(通常是按下主按钮)时触发dblclick:在同一个元素上双击鼠标时触发mousedown:按下鼠标键时触发mouseup:释放按下的鼠标键时触发
鼠标移动事件
鼠标移动相关的有五个事件:
mousemove:当鼠标在一个节点内部移动时触发。当鼠标持续移动时,该事件会连续触发。为了避免性能问题,建议对该事件的监听函数做一些限定,比如限定一段时间内只能运行一次mouseenter:鼠标进入一个节点时触发,进入子节点不会触发这个事件(详见后文)mouseover:鼠标进入一个节点时触发,进入子节点会再一次触发这个事件(详见后文)mouseout:鼠标离开一个节点时触发,离开父节点也会触发这个事件(详见后文)mouseleave:鼠标离开一个节点时触发,离开父节点不会触发这个事件(详见后文)
MouseEvent 接口
MouseEvent接口代表了鼠标相关的事件,单击(click)、双击(dblclick)、松开鼠标键(mouseup)、按下鼠标键(mousedown)等动作,所产生的事件对象都是MouseEvent实例
screenX:数值,鼠标相对于屏幕的水平位置(单位像素),默认值为0,设置该属性不会移动鼠标。screenY:数值,鼠标相对于屏幕的垂直位置(单位像素),其他与screenX相同。clientX:数值,鼠标相对于程序窗口的水平位置(单位像素),默认值为0,设置该属性不会移动鼠标。clientY:数值,鼠标相对于程序窗口的垂直位置(单位像素),其他与clientX相同。ctrlKey:布尔值,默认值为false,是否同时按下了 Ctrl 键shiftKey:布尔值,默认值为false是否同时按下了 Shift 键altKey:布尔值,默认值为false,是否同时按下 Alt 键metaKey:布尔值,默认值为false,是否同时按下 Meta 键button:数值,表示按下了哪一个鼠标按键,默认值为0,表示按下主键(通常是鼠标的左键)或者当前事件没有定义这个属性;1表示按下辅助键(通常是鼠标的中间键),2表示按下次要键(通常是鼠标的右键)。buttons:数值,表示按下了鼠标的哪些键,是一个三个比特位的二进制值,默认为0(没有按下任何键)。1(二进制001)表示按下主键(通常是左键),2(二进制010)表示按下次要键(通常是右键),4(二进制100)表示按下辅助键(通常是中间键)。因此,如果返回3(二进制011)就表示同时按下了左键和右键。relatedTarget:节点对象,表示事件的相关节点,默认为null。mouseenter和mouseover事件时,表示鼠标刚刚离开的那个元素节点;mouseout和mouseleave事件时,表示鼠标正在进入的那个元素节点
写在最后
以上习题&笔记从大佬们的论坛学习而来,特感谢大佬们的知识分享~ (学习技术知识,果然要看大佬们的技术博客,大家有好的推荐也欢迎指引我这个小白哈,感恩!)
附上学习链接,感谢这些大佬出题和解答:wangdoc.com/javascript/…