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 相关文章推荐
解决checkbox的attr(checked)一直为undefined问题
Jun 16 Javascript
js判断手机和pc端选择不同执行事件的方法
Jan 30 Javascript
BootStrap制作导航条实例代码
May 06 Javascript
浅谈Angular路由守卫
Aug 26 Javascript
JS中常用的消息框总结
Feb 24 Javascript
Vue.js实现的表格增加删除demo示例
May 22 Javascript
vue项目实现github在线预览功能
Jun 20 Javascript
Vue封装的组件全局注册并引用
Jul 24 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
Sep 11 Javascript
webpack的tree shaking的实现方法
Sep 18 Javascript
JavaScript鼠标悬停事件用法解析
May 15 Javascript
解决Vue大括号字符换行踩的坑
Nov 09 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
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
基于laravel制作APP接口(API)
2016/03/15 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
2016/04/26 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
JavaScript使用prototype定义对象类型(转)[
2006/12/22 Javascript
关于恒等于(===)和非恒等于(!==)
2007/08/20 Javascript
一个符号插入器 中用到的js代码
2007/09/04 Javascript
JavaScript 参数中的数组展开 [译]
2012/09/21 Javascript
js控制容器隐藏出现防止样式变化的两种方法
2014/04/25 Javascript
AngularJS控制器controller正确的通信的方法
2016/01/25 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
2017/03/09 Javascript
Vue实现选择城市功能
2017/05/27 Javascript
jQuery菜单实例(全选,反选,取消)
2017/08/28 jQuery
vue双向数据绑定知识点总结
2018/04/18 Javascript
vue-cli3全面配置详解
2018/11/14 Javascript
基于VUE实现判断设备是PC还是移动端
2020/07/03 Javascript
Openlayers绘制地图标注
2020/09/28 Javascript
[05:04]DOTA2上海特级锦标赛主赛事第二日TOP10
2016/03/04 DOTA
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
PyQt5每天必学之布局管理
2018/04/19 Python
python 爬虫百度地图的信息界面的实现方法
2019/10/27 Python
日本一家专门经营各种箱包的大型网站:Traveler Store
2016/08/03 全球购物
美国汽车轮胎和轮毂销售网站:Tire Rack
2018/01/11 全球购物
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
渗透攻击的测试步骤
2014/06/07 面试题
应届毕业生求职信范文
2013/12/18 职场文书
公司前台辞职报告
2014/01/19 职场文书
服装促销活动方案
2014/02/23 职场文书
大队干部竞选演讲稿
2014/04/28 职场文书
节约用电标语
2014/06/17 职场文书
市场策划求职信
2014/08/07 职场文书
2015年七一建党节慰问信
2015/03/23 职场文书
团组织推荐意见
2015/06/05 职场文书
复活读书笔记
2015/06/29 职场文书
windows11怎么查看wifi密码? win11查看wifi密码的技巧
2021/11/21 数码科技
Nginx开源可视化配置工具NginxConfig使用教程
2022/06/21 Servers