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 相关文章推荐
关于捕获用户何时点击window.onbeforeunload的取消事件
Mar 06 Javascript
node爬取微博的数据的简单封装库nodeweibo使用指南
Jan 02 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
Aug 17 Javascript
点击页面任何位置隐藏div的实现方法
Sep 05 Javascript
基于vue的下拉刷新指令和滚动刷新指令
Dec 23 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
Mar 06 Javascript
了解JavaScript中的选择器
May 24 Javascript
使用Easyui实现查询条件的后端传递并自动刷新表格的两种方法
Sep 09 Javascript
layui复选框限制选择个数的方法
Sep 18 Javascript
Vue.js watch监视属性知识点总结
Nov 11 Javascript
微信浏览器左上角返回按钮监听的实现
Mar 04 Javascript
在vue中对数组值变化的监听与重新响应渲染操作
Jul 17 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 strtotime函数用法、实现原理和源码分析
2015/02/04 PHP
php实现的简单日志写入函数
2015/03/31 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
PHP中有关长整数的一些操作教程
2019/09/11 PHP
Javascript基础知识(二)事件
2014/09/29 Javascript
javascript每日必学之多态
2016/02/23 Javascript
node.js实现爬虫教程
2020/08/25 Javascript
plupload+artdialog实现多平台上传文件
2016/07/19 Javascript
简单实现JavaScript图片切换效果
2016/11/28 Javascript
Javascript别踩白块儿(钢琴块儿)小游戏实现代码
2017/07/20 Javascript
通过一次报错详细谈谈Point事件
2018/05/17 Javascript
Angularjs实现页面模板清除的方法
2018/07/20 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
2019/02/22 Javascript
javascript实现前端成语点击验证
2020/06/24 Javascript
如何基于jQuery实现五角星评分
2020/09/02 jQuery
[56:21]LGD vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
浅谈python对象数据的读写权限
2016/09/12 Python
利用Python命令行传递实例化对象的方法
2016/11/02 Python
Python使用pandas处理CSV文件的实例讲解
2018/06/22 Python
Python列表生成式与生成器操作示例
2018/08/01 Python
实现Python与STM32通信方式
2019/12/18 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
python实现将中文日期转换为数字日期
2020/07/14 Python
Html5与App的通讯方式详解
2019/10/24 HTML / CSS
北美个性化礼品商店:Things Remembered
2018/06/12 全球购物
新东方旗下远程教育网站:新东方在线
2020/03/19 全球购物
Linux文件系统类型
2012/02/15 面试题
大学新生军训自我鉴定
2014/03/18 职场文书
夫妻分居协议书范本
2014/11/28 职场文书
寒暑假实习证明书模板
2014/11/29 职场文书
2015年国庆晚会主持词
2015/07/01 职场文书
高三物理教学反思
2016/02/20 职场文书
MySQL注入基础练习
2021/05/30 MySQL
Element实现动态表格的示例代码
2021/08/02 Javascript
nginx安装以及配置的详细过程记录
2021/09/15 Servers