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 getStyle获取最终样式函数代码
Apr 01 Javascript
关闭页面window.location事件未执行的原因及解决方法
Sep 01 Javascript
浅谈JavaScript事件的属性列表
Mar 01 Javascript
jQuery中ajax的load()与post()方法实例详解
Jan 05 Javascript
jQuery简单实现提交数据出现loading进度条的方法
Mar 29 Javascript
JavaScript中各种引用类型的常用操作方法小结
May 05 Javascript
Node.js的文件权限及读写flag详解
Oct 11 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
Dec 08 Javascript
JS中对数组元素进行增删改移的方法总结
Dec 15 Javascript
webpack配置的最佳实践分享
Apr 21 Javascript
layui use 定义js外部引用函数的方法
Sep 26 Javascript
ES6 Generator基本使用方法示例
Jun 06 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修改文件上传限制方法汇总
2015/04/07 PHP
thinkPHP多表查询及分页功能实现方法示例
2017/07/03 PHP
form自动提交实例讲解
2017/07/10 PHP
用javascript实现的图片马赛克后显示并切换加文字功能
2007/04/21 Javascript
jQuery JSON实现无刷新三级联动实例探讨
2013/05/28 Javascript
IE中JS跳转丢失referrer问题的2个解决方法
2014/07/18 Javascript
jquery动态分页效果堪比时光网
2014/09/25 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
2016/06/06 Javascript
Bootstrap 网站实例之单页营销网站
2016/10/20 Javascript
JS实现倒计时(天数、时、分、秒)
2016/11/16 Javascript
node.js入门教程之querystring模块的使用方法
2017/02/27 Javascript
js控制文本框禁止输入特殊字符详解
2017/04/07 Javascript
使用vuex缓存数据并优化自己的vuex-cache
2018/05/30 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
原生JS实现简单的倒计时功能示例
2018/08/30 Javascript
vue.js中proxyTable 转发请求的实现方法
2018/09/20 Javascript
如何在微信小程序中使用骨架屏的步骤
2020/06/12 Javascript
Python使用正则表达式过滤或替换HTML标签的方法详解
2017/09/25 Python
Python实现的根据文件名查找数据文件功能示例
2018/05/02 Python
浅析Python pandas模块输出每行中间省略号问题
2018/07/03 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
MoviePy常用剪辑类及Python视频剪辑自动化
2020/12/18 Python
css3 box-shadow阴影(外阴影与外发光)图示讲解
2017/08/11 HTML / CSS
Missguided美国官网:英国时尚品牌
2018/01/18 全球购物
北京RT科技有限公司.net工程师面试题
2013/02/15 面试题
酒吧副总经理岗位职责
2013/12/10 职场文书
教师的实习鉴定
2013/12/15 职场文书
毕业生自荐信格式
2014/03/07 职场文书
学生请假条格式
2014/04/11 职场文书
金融事务专业求职信
2014/04/25 职场文书
应届大学生自荐书
2014/06/17 职场文书
2015年元旦演讲稿
2014/09/12 职场文书
教师个人考察材料
2014/12/16 职场文书
Python中快速掌握Data Frame的常用操作
2021/03/31 Python