关于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 相关文章推荐
jquery实现网站超链接和图片提示效果
Mar 21 Javascript
javascript获取select值的方法分析
Jul 02 Javascript
js获取页面及个元素高度、宽度的代码
Apr 26 Javascript
js浏览器html5表单验证
Oct 17 Javascript
Bootstrap框架安装使用详解
Jan 21 Javascript
js 实现获取name 相同的页面元素并循环遍历的方法
Feb 14 Javascript
es6学习笔记之Async函数的使用示例
May 11 Javascript
koa上传excel文件并解析的实现方法
Aug 09 Javascript
微信小程序-可移动菜单的实现过程详解
Jun 24 Javascript
JavaScript事件委托实现原理及优点进行
Aug 29 Javascript
vue iview 隐藏Table组件里的某一列操作
Nov 13 Javascript
手写Vue2.0 数据劫持的示例
Mar 04 Vue.js
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
file_get_contents(&quot;php://input&quot;, &quot;r&quot;)实例介绍
2013/07/01 PHP
Zend Framework教程之模型Model基本规则和使用方法
2016/03/04 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
读jQuery之十一 添加事件核心方法
2011/07/31 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
2014/02/11 Javascript
javascript 获取HTML DOM父、子、临近节点
2014/06/16 Javascript
VS2008中使用JavaScript调用WebServices
2014/12/18 Javascript
JS实现跟随鼠标的链接文字提示框效果
2015/08/06 Javascript
深入浅析JavaScript中with语句的理解
2016/05/12 Javascript
原生JS简单实现ajax的方法示例
2016/11/29 Javascript
手机软键盘弹出时影响布局的解决方法
2016/12/15 Javascript
jQuery实现web页面樱花坠落的特效
2017/06/01 jQuery
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
React路由管理之React Router总结
2018/05/10 Javascript
Vue自定义弹窗指令的实现代码
2018/08/13 Javascript
Vue中 v-if/v-show/插值表达式导致闪现的原因及解决办法
2018/10/12 Javascript
Bootstrap Paginator+PageHelper实现分页效果
2018/12/29 Javascript
简单了解微信小程序的目录结构
2019/07/01 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
[40:06]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第一场
2018/04/04 DOTA
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
Zookeeper接口kazoo实例解析
2018/01/22 Python
从DataFrame中提取出Series或DataFrame对象的方法
2018/11/10 Python
对python dataframe逻辑取值的方法详解
2019/01/30 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
Python 创建守护进程的示例
2020/09/29 Python
高职助产应届生自荐信
2013/09/24 职场文书
会计专业个人自我鉴定
2014/03/21 职场文书
出差报告怎么写
2014/11/06 职场文书
2015年电话销售工作总结范文
2015/04/20 职场文书
法院答辩状格式
2015/05/22 职场文书
2015年学校综合治理工作总结
2015/07/20 职场文书
信息简报范文
2015/07/21 职场文书
运动会800米赞词
2015/07/22 职场文书
pytorch fine-tune 预训练的模型操作
2021/06/03 Python
MySQL 百万级数据的4种查询优化方式
2021/06/07 MySQL