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 相关文章推荐
Jquery 表单取值赋值的一些基本操作
Oct 11 Javascript
JavaScript写的一个自定义弹出式对话框代码
Jan 17 Javascript
jquery 圆形旋转图片滚动切换效果
Jan 19 Javascript
jQuery EasyUI API 中文文档 - ValidateBox验证框
Oct 06 Javascript
JavaScript判断DOM何时加载完毕的技巧
Nov 11 Javascript
js校验表单后提交表单的三种方法总结
Feb 28 Javascript
网页实时显示服务器时间和javscript自运行时钟
Jun 09 Javascript
js多个物体运动功能实例分析
Dec 20 Javascript
Vue.js系列之vue-router(上)(3)
Jan 03 Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
Feb 21 Javascript
JS扁平化输出数组的2种方法解析
Sep 17 Javascript
微信小程序实现按字母排列选择城市功能
Nov 25 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 解决session死锁的方法
2013/06/20 PHP
PHP SPL标准库之SplFixedArray使用实例
2015/05/12 PHP
PHP实现HTTP断点续传的方法
2015/06/17 PHP
PHP环境中Memcache的安装和使用
2015/11/05 PHP
laravel学习教程之存取器
2016/07/30 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
JavaScript 打地鼠游戏代码说明
2010/10/12 Javascript
getComputedStyle与currentStyle获取样式(style/class)
2013/03/19 Javascript
jquery子元素过滤选择器使用示例
2013/06/24 Javascript
jquery Easyui快速开发总结
2015/08/20 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
Java与JavaScript中判断两字符串是否相等的区别
2017/03/13 Javascript
vue项目中axios使用详解
2018/02/07 Javascript
[01:33]真香警告!DOTA2勇士令状不朽珍藏Ⅱ饰品欣赏
2018/06/26 DOTA
Python NumPy库安装使用笔记
2015/05/18 Python
python绘制铅球的运行轨迹代码分享
2017/11/14 Python
Python基于Tkinter模块实现的弹球小游戏
2018/12/27 Python
Pycharm 设置默认头的图文教程
2019/01/17 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
2019/04/09 Python
利用python计算windows全盘文件md5值的脚本
2019/07/27 Python
TensorFlow索引与切片的实现方法
2019/11/20 Python
pycharm中使用request和Pytest进行接口测试的方法
2020/07/31 Python
Python内置函数property()如何使用
2020/09/01 Python
使用CSS3的appearance属性改变元素的外观的方法
2015/12/12 HTML / CSS
缅甸网上购物:Shop.com.mm
2017/12/05 全球购物
thinkphp5 redis缓存新增方法实例讲解
2021/03/24 PHP
教师应聘个人求职信
2013/12/10 职场文书
对祖国的寄语大全
2014/04/11 职场文书
保密工作责任书
2014/04/16 职场文书
教师爱岗敬业演讲稿
2014/05/05 职场文书
简单租房协议书范本
2014/08/20 职场文书
领导新年致辞2016
2015/07/29 职场文书
2016师德师风学习心得体会
2016/01/12 职场文书
python实现求纯色彩图像的边框
2021/04/08 Python
Javascript中Microtask和Macrotask鲜为人知的知识点
2022/04/02 Javascript