关于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 相关文章推荐
JavaScript去除空格的几种方法
Oct 03 Javascript
JavaScript学习历程和心得小结
Aug 16 Javascript
Lua表达式和控制结构学习笔记
Dec 15 Javascript
js分页工具实例
Jan 28 Javascript
详解Backbone.js框架中的模型Model与其集合collection
May 05 Javascript
js时间查询插件使用详解
Apr 07 Javascript
js编写选项卡效果
May 23 Javascript
vue滚动轴插件better-scroll使用详解
Oct 17 Javascript
详解node.js的http模块实例演示
Jul 12 Javascript
three.js利用gpu选取物体并计算交点位置的方法示例
Nov 25 Javascript
JavaScript实现横版菜单栏
Mar 17 Javascript
vue3使用vuedraggable实现拖拽功能
Apr 06 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
set_include_path在win和linux下的区别
2008/01/10 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
2014/09/16 PHP
discuz目录文件资料汇总
2014/12/30 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
2015/12/11 PHP
php二维码生成以及下载实现
2017/09/28 PHP
xmlHTTP实例
2006/10/24 Javascript
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
javascript中运用闭包和自执行函数解决大量的全局变量问题
2010/12/30 Javascript
js修改input的type属性及浏览器兼容问题探讨与解决
2013/01/23 Javascript
node.js中的fs.fchownSync方法使用说明
2014/12/16 Javascript
jQuery实现仿Alipay支付宝首页全屏焦点图切换特效
2015/05/04 Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
2015/11/07 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
2016/12/05 Javascript
AngularJS实现给动态生成的元素绑定事件的方法
2016/12/14 Javascript
bootstrap如何让dropdown menu按钮式下拉框长度一致
2017/04/10 Javascript
react 父子组件之间通讯props
2018/09/08 Javascript
小程序实现左右来回滚动字幕效果
2018/12/28 Javascript
[11:42]2018DOTA2国际邀请赛寻真——OG卷土重来
2018/08/17 DOTA
对于Python编程中一些重用与缩减的建议
2015/04/14 Python
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
利用python如何处理百万条数据(适用java新手)
2018/06/06 Python
解决python中遇到字典里key值为None的情况,取不出来的问题
2018/10/17 Python
说说如何遍历Python列表的方法示例
2019/02/11 Python
Python 实现数据结构中的的栈队列
2019/05/16 Python
python命令行工具Click快速掌握
2019/07/04 Python
python函数修饰符@的使用方法解析
2019/09/02 Python
anaconda3安装及jupyter环境配置全教程
2020/08/24 Python
HTML5实践-图片设置成灰度图
2012/11/12 HTML / CSS
ET Mall东森购物网:东森严选
2017/03/06 全球购物
介绍一下linux文件系统分配策略
2013/02/25 面试题
演讲稿开场白
2014/01/13 职场文书
丑小鸭教学反思
2014/02/03 职场文书
年度考核登记表个人总结
2015/03/06 职场文书
承诺书怎么写 ?
2019/04/16 职场文书
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python
Python 恐龙跑跑小游戏实现流程
2022/02/15 Python