JS中判断鼠标按键的问题。
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
分享到:
相关推荐
#### 一、Event对象概述 JavaScript中的`Event`对象用于描述JavaScript事件,主要用于IE4及以上版本以及NN4(Netscape Navigator 4)之后的浏览器版本中。`Event`对象能够表示事件的状态,比如事件发生的元素、键盘...
JavaScript(简称JS)是Web开发中的重要脚本语言,它主要用于网页和浏览器交互,处理用户输入、动画效果、异步通信等。"事件集合"在JS中是指一系列与用户交互或浏览器行为相关的事件,比如点击、鼠标移动、页面加载...
event对象中包含多个属性,其中event.srcElement和event.target是两个用来获取触发事件元素的属性。在不同的浏览器中,这两个属性的支持情况是有所差异的。例如,在IE浏览器中,事件对象包含srcElement属性,而在...
### JavaScript中的Document对象技术汇总 在JavaScript编程语言中,`Document`对象是浏览器提供的核心对象之一,它代表了当前加载的HTML文档,并提供了多种方法和属性来操作网页内容。通过`Document`对象,开发者...
在JavaScript中,DOM...在提供的"js中DOM文档对象学习代码"压缩包中,应该包含了几个示例,涵盖了上述的一些DOM操作。通过深入理解和实践这些示例,您将能够更好地掌握DOM操作的技巧,并将其应用到实际的网页开发中。
Firefox中event对象有pageX、pageY属性,但是没有x、y属性。解决方法是使用mX(mX = event.x ? event.x : event.pageX;)来代替IE中的event.x或者Firefox中的event.pageX。 10. event.srcElement问题 IE中event对象...
在JavaScript的世界里,Table表格对象是网页动态交互中不可或缺的一部分,尤其在处理用户数据展示和操作时。本文将深入探讨如何使用JavaScript来操作HTML中的表格元素,包括获取单元格、行的数据以及各种属性。 ...
10. event.srcElement与event.target问题:在IE浏览器中,event对象有srcElement属性,但在Firefox浏览器中,event对象有target属性。为了解决这一兼容性问题,可以使用srcObj=event.srcElement?event.srcElement:...
此外,`event_listener.jsx` 可能会使用到其他 ExtendScript 对象和方法,比如 `app.documents` 集合来遍历所有打开的文档,`event` 对象来获取与触发事件相关的详细信息,或者 `dialogs` 来与用户进行交互。...
在JavaScript中,事件是DOM(文档对象模型)的一部分,通过addEventListener和removeEventListener方法来添加和移除事件监听器。例如,我们可以为一个按钮添加点击事件监听器: ```javascript document....
### JavaScript事件集合知识点 ...以上是文档中提到的一些JavaScript事件集合知识点的总结,涵盖了事件的基本概念、触发方式、以及在开发中如何使用它们。掌握这些知识点对于进行高效的Web开发是十分关键的。
以上只是JavaScript在IE和Firefox之间兼容性问题的一部分,实际开发中可能还会遇到更多细节问题。解决这些问题通常需要深入理解各浏览器的差异,并结合条件判断、库或框架等技术手段来实现跨浏览器的代码。在编写...
JavaScript事件是Web开发中不可或缺的一部分,它允许我们与用户进行交互,响应用户的操作,并以此来更新页面内容。本文将深入探讨JavaScript事件的各个方面,帮助开发者更好地理解和应用这些关键概念。 一、事件...
在JavaScript中,面向对象编程(Object-Oriented Programming,OOP)是一种强大的设计模式,可以提高代码的可读性、可维护性和复用性。本篇文章将深入探讨JavaScript中的面向对象特性,包括继承、DOM操作以及页面...
在JavaScript编程中,jQuery库极大地简化了DOM操作和事件处理,但有时我们可能需要将jQuery对象转换为原生DOM对象,以便使用某些不被jQuery支持的API或提高性能。这篇博文将探讨如何进行这种转换,并介绍JavaScript...
解决办法是在事件处理函数中传递事件对象,如`onclick="gotoSubmit(event)"`,然后在函数内部使用`evt = evt || (window.event ? window.event : null);`来兼容IE和Firefox。 4. **HTML对象的id作为对象名的问题** ...
这些只是JavaScript中部分重要的属性和方法,实际应用中还有很多其他功能,如Function对象、Numbers对象、History对象、Navigator对象等,它们共同构成了JavaScript强大的功能体系,使得开发者能够构建动态、交互的...
Prototype.js 是一个开源的JavaScript库,它扩展了JavaScript语言,为开发者提供了许多便利的功能,特别是在对象操作、DOM操作和事件处理方面。1.6版本是该库的一个重要里程碑,引入了诸多改进和新特性。 ### 1. ...
在Web开发中,JavaScript(简称JS)是实现网页交互性的核心语言之一。然而,由于不同的浏览器对于JS标准的支持程度有所差异,这往往会导致跨浏览器兼容性问题的出现。IE(Internet Explorer)与Firefox作为曾经及...