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 相关文章推荐
javascript DOM编程实例(智播客学习)
Nov 23 Javascript
node.js中的buffer.write方法使用说明
Dec 10 Javascript
再分享70+免费的jquery 图片滑块效果插件和教程
Dec 15 Javascript
举例详解Python中smtplib模块处理电子邮件的使用
Jun 24 Javascript
js实现的奥运倒计时时钟效果代码
Dec 09 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
Dec 02 Javascript
JS设计模式之命令模式概念与用法分析
Feb 06 Javascript
微信小程序传值以及获取值方法的详解
Apr 29 Javascript
vue实现文字加密功能
Sep 27 Javascript
js实现简单掷骰子效果
Oct 24 Javascript
微信sdk实现禁止微信分享(使用原生php实现)
Nov 15 Javascript
微信小程序开发(三):返回上一级页面并刷新操作示例【页面栈】
Jun 01 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+Tidy-完美的XHTML纠错+过滤
2007/04/10 PHP
php中get_headers函数的作用及用法的详细介绍
2013/04/27 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
PHP使用Redis替代文件存储Session的方法
2017/02/15 PHP
javascript读写XML实现广告轮换(兼容IE、FF)
2013/08/09 Javascript
浅谈checkbox的一些操作(实战经验)
2013/11/20 Javascript
js控制input框只读实现示例
2014/01/20 Javascript
js实现的类似于asp数据字典的数据类型代码实例
2014/09/03 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
JS获取input file绝对路径的方法(推荐)
2016/08/02 Javascript
详解js中==与===的区别
2017/01/08 Javascript
jQuery实现拖拽可编辑模块功能代码
2017/01/12 Javascript
js 去掉字符串前后空格实现代码集合
2017/03/25 Javascript
Node学习记录之cluster模块
2017/05/31 Javascript
JavaScript利用fetch实现异步请求的方法实例
2017/07/26 Javascript
webpack多入口多出口的实现方法
2018/08/17 Javascript
Vue.js的复用组件开发流程完整记录
2018/11/29 Javascript
微信小程序实现原生步骤条
2019/07/25 Javascript
Vue中添加滚动事件设置的方法详解
2020/09/14 Javascript
Python中urllib+urllib2+cookielib模块编写爬虫实战
2016/01/20 Python
利用django如何解析用户上传的excel文件
2017/07/24 Python
Python实现的基于优先等级分配糖果问题算法示例
2018/04/25 Python
Windows下安装Scrapy
2018/10/17 Python
对Python多线程读写文件加锁的实例详解
2019/01/14 Python
pthon贪吃蛇游戏详细代码
2019/01/27 Python
python安装scipy的方法步骤
2019/06/26 Python
浅析python标准库中的glob
2020/03/13 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
2020/05/10 Python
Python生成随机验证码代码实例解析
2020/06/09 Python
python从PDF中提取数据的示例
2020/10/30 Python
2014年党员加强作风建设思想汇报
2014/09/15 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
教师学期述职自我鉴定
2019/08/16 职场文书
Python Django搭建文件下载服务器的实现
2021/05/10 Python
Tomcat 与 maven 的安装与使用教程
2022/06/16 Servers