关于js中的鼠标事件总结


Posted in Javascript onJuly 11, 2017

js中鼠标事件主要有onclick,onmousedown,onmouseup,oncontextmenu,ondblclick,所有的这些事件都包含有一个事件对象event,当然在IE低版本下,event对象是挂在window底下的。这个我们另行讨论。

1.通过html添加事件 

<input type="button" click="alert(1)"/>

2.通过DOM0级方式添加事件

<input type="button" value="点击"/>
<script>
  var btn=document.getElementsByTagName('input')[0];
  btn.onclick=function(){
     alert(1);
}
</script>

3.通过DOM2级方式添加事件

事件监听主要接受三个参数,事件类型,事件需要执行的函数,是否冒泡,默认情况下是允许冒泡的

document.addEventListener('click',function( ){ },true)

以上是关于事件添加的三种方式,通过DOM0级方式添加事件有一个缺点就是当添加同一个事件是,后写的会把先写的给覆盖掉,但是通过DOM2级方式添加的相同事件是不会覆盖前面的事件的。同时,需要注意的是通过DOM2级添加的事件类型前面是没有‘on'的,接着就是如果要移除事件的话,DOM0级直接让事件为null就能清除事件,但是如果是DOM2级添加的函数是匿名函数,通过removeEventListener()方法是没办法移除的,因为两者指向的不是同一个函数,如果要移除,请记得使用有名函数。关于最后一个参数true是代表冒泡,false是代表捕获。

/*
* 当触发onclick事件时,console.log(ev.which),鼠标左键的which值为1
* 当触发oncontextmenue时,鼠标的右键值为3,不会触发onclick事件
* 当mousewheel时,鼠标的中键键值为0
* 当document.down时,可以根据按键的不同,从左到右鼠标键值依次为1,2,3
* 在chrome底下,查看ev.wheelDelta,向上是120,向下是-120
* 在FirFox底下,通过addEventListenner()来给鼠标添加滚轮事件,事件类型是DOMMouseScroll,查看是使用ev.detail
* 向上是3,向下是-3
*

以上这篇关于js中的鼠标事件总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Mootools 1.2教程 函数
Sep 15 Javascript
js切换div css注意的细节
Dec 10 Javascript
终于解决了IE8不支持数组的indexOf方法
Apr 03 Javascript
JS简单实现文件上传实例代码(无需插件)
Nov 15 Javascript
zeroclipboard 单个复制按钮和多个复制按钮的实现方法
Jun 14 Javascript
实例解析jQuery中如何取消后续执行内容
Dec 01 Javascript
Bootstrap和Java分页实例第二篇
Dec 23 Javascript
JS实现基于拖拽改变物体大小的方法
Jan 23 Javascript
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
Aug 28 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
Jun 27 Javascript
用 js 写一个 js 解释器过程详解
Aug 02 Javascript
vuex管理状态 刷新页面保持不被清空的解决方案
Nov 11 Javascript
vue音乐播放器插件vue-aplayer的配置及其使用实例详解
Jul 10 #Javascript
angular学习之从零搭建一个angular4.0项目
Jul 10 #Javascript
在Vue中使用echarts的实例代码(3种图)
Jul 10 #Javascript
jquery.validate.js 多个相同name的处理方式
Jul 10 #jQuery
Angular2生命周期钩子函数的详细介绍
Jul 10 #Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
Jul 10 #Javascript
在vue中获取dom元素内容的方法
Jul 10 #Javascript
You might like
解析PHP实现下载文件的两种方法
2013/07/05 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
PHP静态延迟绑定和普通静态效率的对比
2017/10/20 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
2020/04/14 PHP
(仅IE下有效)关于checkbox 三态
2007/05/12 Javascript
JS模拟面向对象全解(二、类型与赋值)
2011/07/13 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
jQuery EasyUI Tab 选项卡问题小结
2016/08/16 Javascript
jQuery动态添加.active 实现导航效果代码思路详解
2017/08/29 jQuery
jquery 通过ajax请求获取后台数据显示在表格上的方法
2018/08/08 jQuery
解决vue.js this.$router.push无效的问题
2018/09/03 Javascript
mpvue项目中使用第三方UI组件库的方法
2018/09/30 Javascript
vue中使用codemirror的实例详解
2018/11/01 Javascript
vue实现手机端省市区区域选择
2019/09/27 Javascript
Vue开发环境跨域访问问题
2020/01/22 Javascript
react组件基本用法示例小结
2020/04/27 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
2020/07/24 Javascript
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
[03:16]DOTA2完美大师赛小组赛精彩集锦
2017/11/22 DOTA
Python中time模块与datetime模块在使用中的不同之处
2015/11/24 Python
Python生成8位随机字符串的方法分析
2017/12/05 Python
Python基于列表list实现的CRUD操作功能示例
2018/01/05 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
Python实现的对一个数进行因式分解操作示例
2019/06/27 Python
python 实现将多条曲线画在一幅图上的方法
2019/07/07 Python
pymysql模块的使用(增删改查)详解
2019/09/09 Python
使用Bazel编译TensorBoard教程
2020/02/15 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
制药工程专业应届生求职信
2013/09/24 职场文书
建筑安全生产责任书
2014/07/22 职场文书
员工教育培训协议书
2014/09/27 职场文书
初中班级口号霸气押韵
2015/12/24 职场文书
司法廉洁教育心得体会
2016/01/20 职场文书
MySQL时间设置注意事项的深入总结
2021/05/06 MySQL
MySQL修炼之联结与集合浅析
2021/10/05 MySQL