现在的位置: 首页 > 综合 > 正文

JavaScript Event 对象

2013年05月04日 ⁄ 综合 ⁄ 共 1141字 ⁄ 字号 评论关闭

IE和Firefox对于捕获Event的处理是不同的。

IE把Event作为window的一个属性,通过window.event的方式进行使用;而FIrefox却是把Event对象作为函数的一个参数来捕获的。你是不是比较糊涂了?

别着急,看下面这个例子就明白了。

当鼠标点击页面中某个位置时,弹出一个对话框,显示点击点在屏幕中的坐标。
document.onmousedown=mouseDown;

IE中:
function mouseDown(){
var locString="X="+window.event.screenX+" Y="+window.event.ScreenY;
alert(locString);
}

在Firefox中:
function mouseDown(ffEvent){
var locString="X="+ffEvent.screenX+" Y="+ffEvent.ScreenY;
alert(locString);
}

那我们在实际的代码中该怎样写呢?

现提供一种对IE和Firefox的兼容模式,用三元运算符就行判断(对象检测),代码如下:
function mouseDown(ffEvent){
var theEvent=ffEvent?ffEvent:window.event;
var locString="X="+theEvent.screenX+" Y="+theEvent.ScreenY;
alert(locString);
}

该应用的完整代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>X/Y Marks the Spot</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
//<![CDATA[

function mouseDown(ffEvent){
var theEvent=ffEvent?ffEvent:window.event;
var locString="X="+theEvent.screenX+" Y="+theEvent.ScreenY;
alert(locString);
}

document.onmousedown=mouseDown;
//]]>
</script>

</head>
<body>
</body>
</html>

 

物流配货网http://wlphw.com/  QQ在线:471226865点击这里给我发消息

抱歉!评论已关闭.