JavaScript常见鼠标事件与用法分析


Posted in Javascript onJanuary 03, 2019

本文实例讲述了JavaScript常见鼠标事件与用法。分享给大家供大家参考,具体如下:

JavaScript 鼠标事件有以下8种

mousedown
鼠标的键钮被按下。

mouseup
鼠标的键钮释放弹起。

click
鼠标左键(或中键)被单击。

事件触发顺序是:mousedown -> mouseup -> click

dblclick
鼠标左键(或中键)被双击。

事件触发顺序是:mousedown -> mouseup -> click -> mousedown -> mouseup -> click -> dblclick。

contextmenu
弹出右键菜单,它可能是鼠标右键触发的,也可能是键盘的菜单键触发的。

mouseover
鼠标移动到目标上方。

mouseout
鼠标从目标上方移出。

mousemove
鼠标在目标上方移动

注意:事件名称大小写敏感。若需要监听以上事件,则在事件名的前面加个on即可。

事件区别

onmouseovernmouseout:鼠标移动到自身时候会触发事件,同时移动到其子元素身上也会触发事件

onmouseenteronmouseleave:鼠标移动到自身是会触发事件,但是移动到其子元素身上不会触发事件

全局事件对象event

event.x
事件发生时鼠标的位置

event.y
事件发生时鼠标的位置

button
鼠标的哪一个键触发的事件

0
鼠标左键
1
鼠标中键
2
鼠标右键

代码范例

<html>
  <body>
    <script type="text/javascript">
      function appendText(str) {
        document.body.innerHTML += str + "<br/>";
      }
      document.onmousedown = function() {
        appendText("onmousedown");
        appendText("button = " + event.button);
        appendText("(x,y) = " + event.x + "," + event.y);
      }
      document.onmouseup = function() {
        appendText("onmouseup");
      }
      document.onclick = function() {
        appendText("onclick");
      }
      document.ondblclick = function() {
        appendText("ondblclick");
      }
      document.oncontextmenu = function() {
        appendText("oncontextmenu");
      }
      document.onmouseover = function() {
        appendText("onmouseover");
      }
      document.onmouseout = function() {
        appendText("onmouseout");
      }
      document.onmousemove = function() {
        appendText("mousemove");
      }
    </script>
  </body>
</html>

这里使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码,得到如下运行结果:

 JavaScript常见鼠标事件与用法分析

感兴趣的朋友可以使用本站在线工具测试一下上述代码运行效果。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JS打印gridview实现原理及代码
Feb 05 Javascript
JS中 用户登录系统的解决办法
Apr 15 Javascript
鼠标划过实现延迟加载并隐藏层的js代码
Oct 11 Javascript
JavaScript实现大数的运算
Nov 24 Javascript
Angularjs实现多个页面共享数据的方式
Mar 29 Javascript
浅析JS获取url中的参数实例代码
Jun 14 Javascript
Javascript 实现 Excel 导入生成图表功能
Oct 22 Javascript
Vue从TodoList中学父子组件通信
Feb 05 Javascript
浅谈对于“不用setInterval,用setTimeout”的理解
Aug 28 Javascript
微信小程序scroll-view点击项自动居中效果的实现
Mar 25 Javascript
基于elementUI竖向表格、和并列的案例
Oct 26 Javascript
vuecli项目构建SSR服务端渲染的实现
Oct 30 Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
Jan 03 #Javascript
JavaScript实现shuffle数组洗牌操作示例
Jan 03 #Javascript
JavaScript实现数字前补“0”的五种方法示例
Jan 03 #Javascript
35个最好用的Vue开源库(史上最全)
Jan 03 #Javascript
原生js实现移动端Touch轮播图的方法步骤
Jan 03 #Javascript
发布一款npm包帮助理解npm的使用
Jan 03 #Javascript
用node开发并发布一个cli工具的方法步骤
Jan 03 #Javascript
You might like
PHP简单获取多个checkbox值的方法
2016/06/13 PHP
基于PHP实现生成随机水印图片
2020/12/09 PHP
网页里控制图片大小的相关代码
2006/06/13 Javascript
javascript一点特殊用法
2008/05/28 Javascript
用js生产批量批处理执行命令
2008/07/28 Javascript
jquery ajax 调用失败的原因示例介绍
2013/09/27 Javascript
一个简单的jquery进度条示例
2014/04/28 Javascript
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
Nodejs实现多人同时在线移动鼠标的小游戏分享
2014/12/06 NodeJs
基于jquery实现省市联动特效
2015/12/17 Javascript
设置cookie指定时间失效(实例代码)
2017/05/28 Javascript
vue bootstrap小例子一枚
2017/06/09 Javascript
vue iView 上传组件之手动上传功能
2018/03/16 Javascript
js使用ajax传值给后台,后台返回字符串处理方法
2018/08/08 Javascript
javascript中函数的写法实例代码详解
2018/10/28 Javascript
Async/Await替代Promise的6个理由
2019/06/15 Javascript
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
node静态服务器实现静态读取文件或文件夹
2019/12/03 Javascript
js实现盒子拖拽动画效果
2020/08/09 Javascript
Vue路由 重定向和别名的区别说明
2020/09/09 Javascript
[03:37]2015国际邀请赛第四日现场精彩集锦
2015/08/08 DOTA
Python对多属性的重复数据去重实例
2018/04/18 Python
python 产生token及token验证的方法
2018/12/26 Python
django框架auth模块用法实例详解
2019/12/10 Python
Python库skimage绘制二值图像代码实例
2020/04/10 Python
如何实现更换Jupyter Notebook内核Python版本
2020/05/18 Python
澳大利亚领先的在线药房:Pharmacy Online(有中文站)
2020/02/22 全球购物
法学个人求职信范文
2014/01/27 职场文书
企业宣传方案
2014/03/04 职场文书
摄影专业毕业生求职信
2014/03/13 职场文书
物价局领导班子四风问题整改措施
2014/10/26 职场文书
2015年教务处干事工作总结
2015/07/22 职场文书
奠基仪式致辞
2015/07/30 职场文书
标准版个人借条怎么写?以及什么是借条?
2019/08/28 职场文书
一起来学习Python的元组和列表
2022/03/13 Python
阿里云ECS云服务器快照的概念以及如何使用
2022/04/21 Servers