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的with语句使用方法
Sep 21 Javascript
javascript 动态参数判空操作
Dec 22 Javascript
风吟的小型JavaScirpt库 (FY.JS).
Mar 09 Javascript
Fixie.js 自动填充内容的插件
Jun 28 Javascript
JavaScript Function函数类型介绍
Apr 08 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
Sep 05 Javascript
详解vue之页面缓存问题(基于2.0)
Jan 10 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
Jun 11 Javascript
微信小程序使用navigateTo数据传递的实例
Sep 26 Javascript
vue.js计算属性computed用法实例分析
Jul 06 Javascript
如何基于JS截获动态代码
Dec 25 Javascript
Javascript var变量删除原理及实现
Aug 26 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
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
php实现查询功能(数据访问)
2017/05/23 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
将json对象转换为字符串的方法
2014/02/20 Javascript
javascript 闭包详解
2015/02/15 Javascript
使用jspdf生成pdf报表
2015/07/03 Javascript
js实现简单的联动菜单效果
2015/08/19 Javascript
javascript数据结构之二叉搜索树实现方法
2015/11/25 Javascript
Angularjs中UI Router的使用方法
2016/05/14 Javascript
JavaScript反弹动画效果的实现代码
2017/07/13 Javascript
js实现动态改变radio状态的方法
2018/02/28 Javascript
Angular(5.2-&gt;6.1)升级小结
2018/12/27 Javascript
初试vue-cli使用HBuilderx打包app的坑
2019/07/17 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
[58:58]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第二场
2018/04/05 DOTA
[01:46]2018完美盛典章节片——坚守
2018/12/17 DOTA
python通过socket查询whois的方法
2015/07/18 Python
python编程实现归并排序
2017/04/14 Python
python实现装饰器、描述符
2018/02/28 Python
pandas获取groupby分组里最大值所在的行方法
2018/04/20 Python
python让列表倒序输出的实例
2018/06/25 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
利用pyuic5将ui文件转换为py文件的方法
2019/06/19 Python
python-视频分帧&amp;多帧合成视频实例
2019/12/10 Python
Python应用实现处理excel数据过程解析
2020/06/19 Python
python实现简易版学生成绩管理系统
2020/06/22 Python
介绍一下EJB的分类及其各自的功能及应用
2016/08/23 面试题
美容院店长岗位职责
2014/04/08 职场文书
学习教师敬业奉献模范事迹材料思想汇报
2014/09/19 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
社区母亲节活动总结
2015/02/10 职场文书
安全承诺书格式范本
2015/04/28 职场文书
创业计划书之网吧
2019/10/10 职场文书
python脚本框架webpy模板赋值实现
2021/11/20 Python