js_事件类型——鼠标点击事件

click:点击鼠标左键或者按下回车键触发。onclick事件处理程序也同样可以通过这两个方式执行。

dblclick:DOM3级事件。双击鼠标左键。

mousedown:单击鼠标左键。

mouseup:松开单击着的鼠标左键。

(click包括按下与松开鼠标左键两个步骤,mousedown仅仅是按下鼠标左键操作,mouseout是松开鼠标左键操作。因此在鼠标操作上click=mousedown+mouseup)

mouseenter:鼠标光标从元素外部首次移动到元素范围之内时触发。该事件不冒泡,而且移动到后代元素上不触发。DOM3级事件。(IE、Firefox、Opera)

mouseleave:位于元素上方的鼠标光标移动到元素范围之外的时候触发。该事件不冒泡。光标移动到后代元素不触发。DOM3级事件。(IE、Firefox、Opera)

mousemove:鼠标在元素内部移动时重复地触发(大概可以做鼠标的炫彩效果)

mouseout:鼠标从一个元素移动到另一个元素时触发,该元素可以是原元素的外部元素或子元素。

mouseover:鼠标在元素外部,首次进入元素时,触碰到元素边界后触发。(和mouseenter差不多应该)

 

检测是否支持click、mousedown、mouseup、mousemove、mouseout、mouseover:

var isSupported=document.implementation.hasFeature("MouseEvents","2.0");

检测能否支持dblick、mouseenter、mouseleave:

var isSupported=document.implementation.hasFeature("MouseEvent","3.0");

 

1.客户区坐标位置

这个位置信息保存在事件对象的clientX,clientY属性中。所有浏览器均支持这两个属性。(event.clientX,event.clientY)

2.页面坐标位置

pageX,pageY属性。在页面没有滚动的情况下他们的值与clientX、clientY的值相等。

与客户区坐标位置的区别:

客户区坐标位置是相对于视口,即浏览器显示页面的窗口的顶部与最左边的距离。页面坐标位置相对于页面本身。页面滚动会造成它们俩的数值不一致。

3.屏幕坐标位置

screenX、screenY属性用于确定相对于整个电脑屏幕的距离。event.screenX,event.screenY。

4.修改键

修改键分别为:Shift、Ctrl、Alt、Meta(windows键盘中是windows键,MacOs中是Cmd键)。

分别对应:shiftKey、ctrlKey、altKey、metaKey四个属性。它们的值是布尔值,如果鼠标与这几个键的其中之一被一同按下,那么这些属性返回true值。

5.相关元素

mouseover事件发生时,事件的目标元素是获得光标的元素,但是有获得就有失去,此时的相关元素就是失去光标的元素。

mouseout事件发生时,事件的目标元素时失去光标的元素,此时的相关元素是获得光标的元素。

event.relatedTarget提供相关元素的信息。(有兼容性的问题,IE8及之前的版本不支持relatedTarget属性)

6.鼠标按钮

mousedown与mouseup事件中,其event事件存在一个button属性,其值有:“0”,“1”,“2”。0代表按下了主鼠标,1代表按下了中间鼠标,2代表按下了次级鼠标。默认情况下主鼠标是左鼠标,次级鼠标是右鼠标。

(IE8及其之前的版本也提供了button属性,但区别很大,使用时要特别注意兼容性)。

7.更多的事件信息

event.detail

其中包含有一个数值,表示在给定位置上发生了多少次单击。从1开始计数。在此期间每触发一对mousedown与mouseup事件就加一,但是在mousedown与mouseup事件之间移动了鼠标位置的话,detail属性会被重置为0.

8.滚轮事件

mousewheel事件:event.wheelDelta

DOMMouseScroll事件:event.detail

见事件——鼠标滚轮事件。

9.触摸设备

ios与Android设备不支持鼠标。

不支持dblclick事件。双击浏览器会放大。

轻击可单击元素会触发mouseover事件。如果导致页面变化就不会有其他事件发生,但是如果没有导致页面变化,依次触发mousedown、mouseup、click事件。

轻击不可单击元素不会触发任何事件。可单击元素指的是可产生默认操作的元素,例如链接,或者那些已经被指定了onclick事件处理程序的元素。

posted @ 2020-02-10 23:22  Syinho  阅读(2045)  评论(0编辑  收藏  举报