1.Event对象的属性IE中可以通过window.event获取event对象。Mozilla中可以获取第一个参数获取event对象或直接命名参数。
oDiv.onclick=function(){
var oEvent = arguments[0];
}
或
oDiv.onclick = function(oEvnet){
}
属性名 |
类型 |
描述 |
altKey |
Boolean |
可用来判断按下的键是否为alt键。只读。 |
altLeft |
Boolean |
可用来判断按下的键是否为左边alt键。只读。 |
button |
int |
指示当事件被触发时哪个鼠标被单击。只读。0:未按下按键;1:鼠标左键;2:鼠标中键;3:同时按下左右按键;4:鼠标中键;5:
鼠标左键和中键;6:鼠标中键和中键;7:同时按下左中右键。这个属性仅用于onmousedown, onmouseup, 和 onmousemove
事件。对其他事件,不管鼠标状态如何,都返回 0(比如onclick)。 |
cancelBubble |
Boolean |
检测是否接受上层元素的事件的控制。可读写。IE下可设置cancelBubble=true停止事件冒泡,Mozilla调用stopPropagation()方法。 |
clientX |
Long |
当事件触发时鼠标指针相对于当前窗口的X轴坐标。只读。不包含工具栏、滚动条等。该属性只能用于IE浏览器,在IE外的浏览器,使用window.pageXOffset和window.pageYOffset即可。 |
clientY |
Long |
当事件触发时鼠标指针相对于当前窗口的Y轴坐标。只读。不包含工具栏、滚动条等。该坐标不考虑文档的滚动。如果事件发生在窗口的顶部,无论文档滚了多远,clientY的值都是0。但是,2级DOM没有提供把窗口坐标转换为文档坐标的标准方法。 |
ctrlKey |
Boolean |
检查ctrl键的状态。只读。 |
fromElement |
IHTMLElement |
检测 onmouseover 和 onmouseout 事件发生时,鼠标所离开的元素。只读。 |
keyCode |
Long |
检测键盘事件相对应的内码。这个属性用于 onkeydown, onkeyup, 和
onkeypress 事件。可读写。 |
offsetX |
Long |
检查相对于触发事件的对象,鼠标位置的水平坐标。只读。 |
offsetY |
Long |
检查相对于触发事件的对象,鼠标位置的垂直坐标。只读。 |
propertyName |
String |
设置或返回元素的变化了的属性的名称。可读写。可以通过使用 onpropertychange
事件,得到 propertyName 的值。 |
repeat |
Boolean |
如果不断触发keydown事件,则为true,否则为false。只读。 |
returnValue |
自定义类型 |
设置或检查从事件中返回的值。可读写。可以通过设置returnValue=false(IE下,Mozilla调用preventDefault()方法)阻止默认行为,如禁止右键菜单。 |
screenX |
Long |
检测鼠标相对于用户屏幕的水平位置。只读。 |
screenY |
Long |
检测鼠标相对于用户屏幕的垂直位置。只读。 |
shiftKey |
Boolean |
检查shift键的状态。只读。 |
srcElement |
DispHTMLHtmlElement |
返回触发事件的元素。只读。等同于Mozilla中的target属性。 |
srcFilter |
Object |
返回触发 onfilterchange 事件的滤镜。只读。 |
toElement |
IHTMLElement |
检测 onmouseover 和 onmouseout 事件发生时,鼠标所进入的元素。只读.
等同于Mozilla中的relatedTarget属性。 |
type |
string |
返回事件名。只读。返回没有“on”作为前缀的事件名,比如,onclick事件返回的type是click |
x |
Long |
返回鼠标相对于css属性中有position属性的上级元素的x轴坐标。如果没有css属性中有position属性的上级元素,默认以BODY元素作为参考对象。只读。如果事件触发后,鼠标移出窗口外,则返回的值为
-1 |
y |
Long |
返回鼠标相对于css属性中有position属性的上级元素的y轴坐标。如果没有css属性中有position属性的上级元素,默认以BODY元素作为参考对象。只读。如果事件触发后,鼠标移出窗口外,则返回的值为
-1 |
(1) cancelBubble属性例子:下面的代码片断演示了当在图片上点击(onclick)时,如果同时shift键也被按下,就取消上层元素(body)上的事件onclick所引发的showSrc()函数。
<SCRIPT LANGUAGE="JScript">
function checkCancel() {
if (window.event.shiftKey)
window.event.cancelBubble = true;
}
function showSrc() {
if (window.event.srcElement.tagName == "IMG")
alert(window.event.srcElement.src);
}
</SCRIPT>
<BODY onclick="showSrc()">
<IMG onclick="checkCancel()" SRC="sample.gif">
(2)propertyName属性例子下面的例子通过使用 onpropertychange 事件,弹出一个对话框,显示 propertyName 的值。
<HEAD>
<SCRIPT>
function changeProp()
{
btnProp.value = "This is the new VALUE";
}
function changeCSSProp()
{
btnStyleProp.style.backgroundColor = "aqua";
}
</SCRIPT>
</HEAD>
<BODY>
<P>The event object property propertyName is
used here to return which property has been
altered.</P>
<INPUT TYPE=button ID=btnProp onclick="changeProp()"
VALUE="Click to change the VALUE property of this button"
onpropertychange='alert(event.propertyName+" property has changed value")'>
<INPUT TYPE=button ID=btnStyleProp
onclick="changeCSSProp()"
VALUE="Click to change the CSS backgroundColor property of this button"
onpropertychange='alert(event.propertyName+" property has changed value")'>
</BODY>
(3)toElement例子:下面的代码演示了当鼠标移到按钮上时,弹出一个对话框,显示“mouse arrived”
<SCRIPT>
function testMouse(oObject) {
if(oObject.contains(event.toElement))
{
alert("mouse arrived");
}
}
</SCRIPT>
:
<BUTTON ID=oButton onmouseover="testMouse(this)">Mouse Over This.</BUTTON>