博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
onclikc事件和onmousedown事件的区别与联系
阅读量:5276 次
发布时间:2019-06-14

本文共 899 字,大约阅读时间需要 2 分钟。

最近在制作拖曳效果时需要用到很多鼠标事件,对其中的一些事件还是非常陌生,就比如说click事件和mousedown事件,他们之间有什么区别又有什么联系,毕竟这两种事件就英文字面意思上来讲还是非常接近的。

在stackoverflow中有很多人就这个问题给出这么一种解释:“mousedown captures right / middle clicks too”. 但这种解释并不正确。

下面是提供的一张图片:

从所给资料来看onmousedown是通过鼠标按下去的瞬间来触发一个事件而onclick是在点击完成之后才会被进行触发(onlick事件在onmousedown和onmouseup之后触发)。

下面通过两段简单的代码来验证:

1.mousedown事件

(点击此输入框,鼠标左键按下的一瞬间出现坐标)

实现代码

1  2  3  4   
5 Document 6 7 8 9 10

2.click事件

(点击此输入框,鼠标左键按下并弹起才会出现坐标)

  
Document

3.mouseup事件

(点击此输入框,鼠标左键松开后才会出现坐标,但是由于mouseup事件结束后就会触发click事件,间隔时间很短不大好通过肉眼识别)

  
Document

这就是onclick和onmousedown的不同。至于stackoverflow中一些人给的答案又如何解释?

实际上,无论是鼠标左键单击还是鼠标右键单击还是用鼠标中间的滚轮单击 都包括这么一个顺序 (mousedown + mouseup + 特定事件)。

在这里,鼠标左键的特定事件是click事件,而鼠标中间滚轮的特定事件和左键单击效果一样,鼠标右击的单击事件是contextmenu。但是他们都紧接着mousedown事件之后触发的,所以就会带来这样一种感觉“mousedown captures right / middle clicks too”。

 

转载于:https://www.cnblogs.com/-lijiahao-/p/5998369.html

你可能感兴趣的文章
hdu 3938 并查集
查看>>
《深入分析Java Web技术内幕》读书笔记之JVM内存管理
查看>>
python之GIL release (I/O open(file) socket time.sleep)
查看>>
软件开发与模型
查看>>
161017、SQL必备知识点
查看>>
kill新号专题
查看>>
MVC学习系列——Model验证扩展
查看>>
mysqladmin 修改和 初始化密码
查看>>
字符串
查看>>
vue2.x directive - 限制input只能输入正整数
查看>>
实现MyLinkedList类深入理解LinkedList
查看>>
自定义返回模型
查看>>
C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 客户端多网络支持
查看>>
HDU 4122
查看>>
Suite3.4.7和Keil u3自带fx2.h、fx2regs.h文件的异同
查看>>
打飞机游戏【来源于Crossin的编程教室 http://chuansong.me/account/crossincode 】
查看>>
[LeetCode] Merge Intervals
查看>>
【翻译自mos文章】当点击完 finishbutton后,dbca 或者dbua hang住
查看>>
Linux编程简介——gcc
查看>>
2019年春季学期第四周作业
查看>>