JavaScript鼠标事件监听、触发时机和触发顺序实例讲解

 更新时间:2024年01月17日 11:37:48   作者:小菜花29  
事件监听是Web开发中非常重要的一个概念,掌握了它的用法,可以让我们实现更加丰富和动态的交互效果,这篇文章主要给大家介绍了关于JavaScript鼠标事件监听、触发时机和触发顺序的相关资料,需要的朋友可以参考下

有时间整理下鼠标的监听事件,目前汇总到的鼠标监听事件以下10个:

先说下触发时机和作用键(左键、右键)

1. click

点击事件,只有左键生效

2. dblclick

双击事件,只有左键生效

跟click事件对比,看下输出

先执行了两次的click事件,再执行了dblclick事件,所以click事件的优先级高于dblclick,这个不难理解

3.contextmenu

右键点击事件,打开上下文菜单时触发,这个我开发过程中没用用到过,放一下效果图(edge浏览器,打开的上下文菜单) 

4.mousedown

鼠标按钮按下触发,注意触发时机,左右键都可以监听

5.mouseup

鼠标按钮松开触发,与mousedown对于,左右键都可以同时监听

跟click事件对比,看下输出

输出先是监听到mousedown,再次时mouseup,最后输出的时click,记录了一次完整的点击过程,也很好理解

mousedown > mouseup > click

跟dblclick事件对比,看下输出

 两组记录click点击过程后,完成dblclick监听

mousedown > mouseup > click > dblclick

跟contextmenu事件对比,看下输出

跟click一致,记录了完整的点击操作,介绍这个主要是说明,mousedown和mouseup都是可以监听鼠标右键的

mousedown > mouseup > contextmenu

6.mouseenter

移入事件,鼠标指针移动到元素触发

7.mouseleave

移除事件,鼠标指针移除元素触发

8.mouseover

鼠标移动到某个元素上触发

9.mouseout

鼠标从某个元素上移开触发

上述四个事件,感觉很相似,enter和over,leave和out,把这四个属性放一起我们看下输出的先后顺序

 可以看出,移入过程中,先是输出的mouseover,移出过程输出的时mouseout,也就是mouseover和mouseout的优先级高于mouseenter和mouseleave,注意触发时机

mouseover > mouseenter > mouseout > mouseleave

10.mousemove

 鼠标移动时触发

这个就很好理解了,只要鼠标在某个元素是移动就会被监听到

 小结一下,简答做个记录,主要是长得像双胞胎的mouseover、mouseenter,mouseout, mouseleave的四个属性着重注意,其他都不难理解。下一篇有机会写一下输入框的焦点事件与点击事件的优先级

总结

到此这篇关于JavaScript鼠标事件监听、触发时机和触发顺序的文章就介绍到这了,更多相关JS鼠标事件监听、触发时机和顺序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JavaScript数据结构与算法之检索算法实例分析【顺序查找、最大最小值、自组织查询】

    JavaScript数据结构与算法之检索算法实例分析【顺序查找、最大最小值、自组织查询】

    这篇文章主要介绍了JavaScript数据结构与算法之检索算法,结合实例形式分析了顺序查找、最大最小值、自组织查询算法相关原理与实现技巧,需要的朋友可以参考下
    2019-02-02
  • webpack构建vue项目的详细教程(配置篇)

    webpack构建vue项目的详细教程(配置篇)

    本篇文章主要介绍了webpack构建vue项目的详细教程(配置篇),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 分享19个JavaScript 有用的简写写法

    分享19个JavaScript 有用的简写写法

    最近很火的一篇来自国外的文章,js的简写写法一定程度上可以提高你的js书写水平对于js的理解也会更近一步
    2017-07-07
  • JavaScript中的对象和原型(一)

    JavaScript中的对象和原型(一)

    大家都知道在js中没有类的概念,因此它的对象也与基于类的语言中的对象有所不同。所以大家要了解面向对象,首先要了解js中的对象和原型,下面本文给大家介绍JavaScript中的对象和原型(一)知识,一起看下吧
    2016-08-08
  • 使用javascript提交form表单方法汇总

    使用javascript提交form表单方法汇总

    这篇文章主要介绍了通过a标签的超链接提交form表单方法汇总,十分的全面细致,也很实用,有需要的小伙伴可以参考下。
    2015-06-06
  • 利用js实现Ajax并发请求限制请求数量的示例代码

    利用js实现Ajax并发请求限制请求数量的示例代码

    这篇文章主要介绍了利用js实现Ajax并发请求限制请求数量的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • JavaScript中极易出错的操作符运算总结

    JavaScript中极易出错的操作符运算总结

    这篇文章主要给大家介绍了关于JavaScript中极易出错的操作符运算的相关资料,包括了算术运算符、比较运算符、逻辑运算符、赋值运算符、一元运算符以及运算优先级等问题,需要的朋友可以参考下
    2021-08-08
  • webpack打包进度展示以及美化教程

    webpack打包进度展示以及美化教程

    webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler),下面这篇文章主要给大家介绍了关于webpack打包进度展示以及美化的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • js控制滚动条缓慢滚动到顶部实现代码

    js控制滚动条缓慢滚动到顶部实现代码

    滚动条缓慢滚动到顶部这样的效果想必大家在浏览网页的时候都有见过吧,本文使用js实现下,感兴趣的你可不要错过了哈,希望可以帮助到你
    2013-03-03
  • 微信小程序实现根据字母选择城市功能

    微信小程序实现根据字母选择城市功能

    这篇文章主要为大家详细介绍了微信小程序中根据字母选择城市的相关方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08

最新评论