js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍


Posted in Javascript onJanuary 24, 2013

IE
左键是 window.event.button = 1
右键是 window.event.button = 2
中键是 window.event.button = 4
没有按键动作window.event.button = 0

Firefox
左键是 event.button = 0
右键是 event.button = 2
中键是 event.button = 1
没有按键动作 event.button = 0

Opera 7.23/7.54
鼠标左键是 window.event.button = 1
没有按键动作 window.event.button = 1
右键和中键无法获取

Opera 7.60/8.0
鼠标左键是 window.event.button = 0
没有按键动作 window.event.button = 0
右键和中键无法获取

另外:屏蔽右键的是window.event.button = 3

************************************************************

Window.event对象代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。
Window.event对象只在事件发生的过程中才有效。
Window.event的某些属性只对特定的事件有意义。比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义。
如果事件触发后,鼠标移出窗口外,则返回的值为 -1 ,这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。

Event对象的属性有
altKey, button, cancelBubble, clientX, clientY, ctrlKey, fromElement, keyCode, offsetX, offsetY, propertyName, returnValue, screenX, screenY, shiftKey, srcElement, srcFilter, toElement, type, x, y

下面简单的描述一下它的这些属性
1.altKey
描述: 检查alt键的状态。
语法: event.altKey
可能的值: 当alt键按下时,值为 TRUE ,否则为 FALSE 。只读。

2.button
描述: 检查按下的鼠标键。
语法: event.button
可能的值:
0 没按键 ;1 按左键 ;2 按右键 ;3 按左右键 ;4 按中间键 ;5 按左键和中间键 ;6 按右键和中间键 ;7 按所有的键
这个属性仅用于onmousedown, onmouseup, 和 onmousemove 事件。对其他事件,不管鼠标状态如何,都返回 0(比如onclick)。

3.cancelBubble
描述: 检测是否接受上层元素的事件的控制。
语法: event.cancelBubble[ = cancelBubble]
可能的值: 这是一个可读写的布尔值
TRUE 不被上层原素的事件控制。
FALSE 允许被上层元素的事件控制。这是默认值。

4.clientX
描述: 返回鼠标在窗口客户区域中的X坐标。
语法: event.clientX
注释: 这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。

5.clientY
描述: 返回鼠标在窗口客户区域中的Y坐标。
语法: event.clientY
注释: 这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。

6.ctrlKey
描述: 检查ctrl键的状态。
语法: event.ctrlKey
可能的值: 当ctrl键按下时,值为 TRUE ,否则为 FALSE 。只读。

7.fromElement
描述: 检测 onmouseover 和 onmouseout 事件发生时,鼠标所离开的元素。 参考18.toElement
语法: event.fromElement
注释: 这是个只读属性。

8.keyCode
描述:检测键盘事件相对应的内码。 这个属性用于 onkeydown, onkeyup, 和 onkeypress 事件。
语法: event.keyCode[ = keyCode]
可能的值: 这是个可读写的值,可以是任何一个Unicode键盘内码。如果没有引发键盘事件,则该值为 0 。

9.offsetX
描述: 检查相对于触发事件的对象,鼠标位置的水平坐标
语法: event.offsetX

10.offsetY
描述: 检查相对于触发事件的对象,鼠标位置的垂直坐标
语法: event.offsetY

11.propertyName
描述: 设置或返回元素的变化了的属性的名称。
语法: event.propertyName [ = sProperty ]
可能的值: sProperty 是一个字符串,指定或返回触发事件的元素在事件中变化了的属性的名称。
注释:这个属性是可读写的。无默认值。你可以通过使用 onpropertychange 事件,得到 propertyName 的值。

12.returnValue
描述: 设置或检查从事件中返回的值
语法: event.returnValue[ = Boolean]
可能的值: true 事件中的值被返回
false 源对象上事件的默认操作被取消

13.screenX
描述: 检测鼠标相对于用户屏幕的水平位置
语法: event.screenX
注释: 这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。

14.screenY
描述: 检测鼠标相对于用户屏幕的垂直位置
语法: event.screenY
注释: 这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。

15.shiftKey
描述: 检查shift键的状态。
语法: event.shiftKey
可能的值: 当shift键按下时,值为 TRUE ,否则为 FALSE 。只读。

16.srcElement
描述: 返回触发事件的元素。只读。例子见本文开头。
语法: event.srcElement

17.srcFilter
描述: 返回触发 onfilterchange 事件的滤镜。只读。
语法: event.srcFilter

18.toElement
描述: 检测 onmouseover 和 onmouseout 事件发生时,鼠标所进入的元素。 参考7.fromElement
语法: event.toElement
注释: 这是个只读属性。

19.type
描述: 返回事件名。
语法: event.type
注释: 返回没有“on”作为前缀的事件名,比如,onclick事件返回的type是click 只读。

20. x
描述: 返回鼠标相对于css属性中有position属性的上级元素的x轴坐标。如果没有css属性中有position属性的上级元素,默认以BODY元素作为参考对象。
语法: event.x
注释: 如果事件触发后,鼠标移出窗口外,则返回的值为 -1
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。

21. y
描述: 返回鼠标相对于css属性中有position属性的上级元素的y轴坐标。如果没有css属性中有position属性的上级元素,默认以BODY元素作为参考对象。
语法: event.y

Javascript 相关文章推荐
jquery 插件实现图片延迟加载效果代码
Feb 06 Javascript
图片上传判断及预览脚本的效果实例
Aug 07 Javascript
js给onclick赋值传参数的两种方法
Nov 25 Javascript
两个select多选模式的选项相互移动(示例代码)
Jan 11 Javascript
JS弹出层单纯的绝对定位居中示例代码
Feb 18 Javascript
javascript运动详解
Jul 06 Javascript
web打印小结
Jan 11 Javascript
从parcel.js打包出错到选择nvm的全部过程
Jan 23 Javascript
微信小程序下拉框搜索功能的实现方法
Jul 31 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
Sep 21 Javascript
微信小程序 bindtap 传参的实例代码
Feb 21 Javascript
Vue项目打包部署到apache服务器的方法步骤
Feb 01 Vue.js
Js 回车换行处理的办法及replace方法应用
Jan 24 #Javascript
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
Jan 24 #Javascript
THREE.JS入门教程(5)你应当知道的十件事
Jan 24 #Javascript
THREE.JS入门教程(4)创建粒子系统
Jan 24 #Javascript
THREE.JS入门教程(3)着色器-下
Jan 24 #Javascript
THREE.JS入门教程(2)着色器-上
Jan 24 #Javascript
THREE.JS入门教程(1)THREE.JS使用前了解
Jan 24 #Javascript
You might like
PHP Smarty生成EXCEL文档的代码
2008/08/23 PHP
php中实现记住密码自动登录的代码
2011/03/02 PHP
浅谈javascript 面向对象编程
2009/10/28 Javascript
javascript 多浏览器 事件大全
2010/03/23 Javascript
基于jquery的横向滚动条(滑动条)
2011/02/24 Javascript
javascript框架设计之类工厂
2015/06/23 Javascript
JavaScript设计模式经典之命令模式
2016/02/24 Javascript
jQuery基于排序功能实现上移、下移的方法
2016/11/26 Javascript
JS实现闭包中的沙箱模式示例
2017/09/07 Javascript
input 标签实现输入框带提示文字效果(两种方法)
2017/10/09 Javascript
vue router动态路由下让每个子路由都是独立组件的解决方案
2018/04/24 Javascript
js序列化和反序列化的使用讲解
2019/01/19 Javascript
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
Python3 模块、包调用&路径详解
2017/10/25 Python
python如何定义带参数的装饰器
2018/03/20 Python
python3调用百度翻译API实现实时翻译
2018/08/16 Python
pycharm执行python时,填写参数的方法
2018/10/29 Python
基于Tensorflow批量数据的输入实现方式
2020/02/05 Python
Python基于pillow库实现生成图片水印
2020/09/14 Python
HTTP状态码详解
2021/03/18 杂记
详解CSS3的opacity属性设置透明效果的用法
2016/05/09 HTML / CSS
快速实现一个简单的canvas迷宫游戏的示例
2018/07/04 HTML / CSS
英国二手物品交易网站:Preloved
2017/10/06 全球购物
Perfume’s Club中文官网:西班牙美妆在线零售品牌
2020/08/24 全球购物
小学五年级学生评语
2014/04/22 职场文书
公司经理任命书
2014/06/05 职场文书
大学毕业生个人自荐书
2014/07/02 职场文书
2014年机关作风建设工作总结
2014/10/23 职场文书
讲文明倡议书
2015/04/29 职场文书
事业单位工作人员2015年度思想工作总结
2015/10/15 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书
如何书写公司员工保密协议?
2019/06/27 职场文书
实习报告范文之电话客服岗位
2019/07/26 职场文书
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
2022/01/18 PostgreSQL
html原生table实现合并单元格以及合并表头的示例代码
2023/05/07 HTML / CSS