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 相关文章推荐
从URL中提取参数与将对象转换为URL查询参数的实现代码
Jan 12 Javascript
Javascript基础教程之数组 array
Jan 18 Javascript
JQuery fileupload插件实现文件上传功能
Mar 18 Javascript
bootstrap模态框消失问题的解决方法
Dec 02 Javascript
如何写好你的JavaScript【推荐】
Mar 02 Javascript
react-redux中connect()方法详细解析
May 27 Javascript
Angular模版驱动表单的使用总结
May 05 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
Feb 19 jQuery
了解在JavaScript中将值转换为字符串的5种方法
Jun 06 Javascript
解决layui的使用以及针对select、radio等表单组件不显示的问题
Sep 05 Javascript
解决layer弹出层中表单不起作用的问题
Sep 09 Javascript
Vue移动端项目实现使用手机预览调试操作
Jul 18 Javascript
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获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
2009/10/11 PHP
ThinkPHP 3.2.2实现事务操作的方法
2017/05/05 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
Yii2.0框架模型多表关联查询示例
2019/07/18 PHP
php更新cookie内容的详细方法
2019/09/30 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
2019/10/30 PHP
document.execCommand()的用法小结
2014/01/08 Javascript
JavaScript中用于四舍五入的Math.round()方法讲解
2015/06/15 Javascript
详解bootstrap的modal-remote两种加载方式【强化】
2017/01/27 Javascript
vue跨域解决方法
2017/10/15 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
[02:04]2016国际邀请赛中国区预选赛VG.R晋级之路
2016/07/01 DOTA
python打开文件并获取文件相关属性的方法
2015/04/23 Python
python 环境变量和import模块导入方法(详解)
2017/07/11 Python
Python获取当前页面内所有链接的四种方法对比分析
2017/08/19 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
PyQt4实现下拉菜单可供选择并打印出来
2018/04/20 Python
Python通过属性手段实现只允许调用一次的示例讲解
2018/04/21 Python
浅析Python pandas模块输出每行中间省略号问题
2018/07/03 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
详解mac python+selenium+Chrome 简单案例
2019/11/08 Python
Python转换字典成为对象,可以用"."方式访问对象属性实例
2020/05/11 Python
深入研究HTML5实现图片压缩上传功能
2016/03/25 HTML / CSS
泰国演唱会订票网站:StubHub泰国
2018/02/26 全球购物
世界领先的艺术图书出版社:TASCHEN
2018/07/23 全球购物
如何选择使用结构还是类
2014/05/30 面试题
室内设计实习自我鉴定
2013/09/25 职场文书
销售员个人求职的自我评价
2014/02/10 职场文书
生物制药专业自我鉴定
2014/02/19 职场文书
大学生社会实践方案
2014/05/11 职场文书
保护地球的标语
2014/06/17 职场文书
检讨书怎么写
2015/01/23 职场文书
社区六一儿童节活动总结
2015/02/11 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
python区块链持久化和命令行接口实现简版
2022/05/25 Python